001
014
015 package com.liferay.portal.search;
016
017 import com.liferay.portal.kernel.messaging.DestinationNames;
018 import com.liferay.portal.kernel.messaging.MessageBusUtil;
019 import com.liferay.portal.kernel.search.Hits;
020 import com.liferay.portal.kernel.search.IndexSearcher;
021 import com.liferay.portal.kernel.search.Query;
022 import com.liferay.portal.kernel.search.SearchException;
023 import com.liferay.portal.kernel.search.Sort;
024 import com.liferay.portal.kernel.search.messaging.SearchRequest;
025
026
029 public class IndexSearcherImpl implements IndexSearcher {
030
031 public Hits search(
032 long companyId, Query query, Sort[] sorts, int start, int end)
033 throws SearchException {
034
035 try {
036 SearchRequest searchRequest = SearchRequest.search(
037 companyId, query, sorts, start, end);
038
039 Hits hits = (Hits)MessageBusUtil.sendSynchronousMessage(
040 DestinationNames.SEARCH_READER, searchRequest,
041 DestinationNames.SEARCH_READER_RESPONSE);
042
043 return hits;
044 }
045 catch (Exception e) {
046 throw new SearchException(e);
047 }
048 }
049
050 }