本文整理汇总了Java中com.liferay.portal.kernel.search.SearchContext.setSorts方法的典型用法代码示例。如果您正苦于以下问题:Java SearchContext.setSorts方法的具体用法?Java SearchContext.setSorts怎么用?Java SearchContext.setSorts使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.liferay.portal.kernel.search.SearchContext
的用法示例。
在下文中一共展示了SearchContext.setSorts方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSortedRecords
import com.liferay.portal.kernel.search.SearchContext; //导入方法依赖的package包/类
private List<DDLRecord> getSortedRecords(final HttpServletRequest request, final DDLRecordSet recordSet,
final String sortByStructureColumnName) throws Exception {
DDMStructure structure = recordSet.getDDMStructure();
String indexedSortColumn = DDMIndexerUtil.encodeName(structure.getStructureId(), sortByStructureColumnName, Locale.US);
SearchContext searchContext = SearchContextFactory.getInstance(request);
String fieldType = structure.getFieldType(sortByStructureColumnName);
int sortType = getSortType(fieldType);
Sort sort = SortFactoryUtil.create(indexedSortColumn, sortType, false);
searchContext.setSorts(sort);
Indexer indexer = IndexerRegistryUtil.getIndexer("com.liferay.portlet.dynamicdatalists.util.DDLIndexer");
Hits results = indexer.search(searchContext);
return adapt(results);
}
示例2: searchLucene
import com.liferay.portal.kernel.search.SearchContext; //导入方法依赖的package包/类
public Hits searchLucene(LinkedHashMap<String, Object> params, Sort[] sorts, int start, int end,
SearchContext searchContext) throws ParseException, SearchException {
String keywords = (String) params.get(Field.KEYWORD_SEARCH);
String groupId = (String) params.get(Field.GROUP_ID);
Indexer<Registration> indexer = IndexerRegistryUtil.nullSafeGetIndexer(Registration.class);
searchContext.addFullQueryEntryClassName(CLASS_NAME);
searchContext.setEntryClassNames(new String[] { CLASS_NAME });
searchContext.setAttribute("paginationType", "regular");
searchContext.setLike(true);
searchContext.setStart(start);
searchContext.setEnd(end);
searchContext.setAndSearch(true);
searchContext.setSorts(sorts);
BooleanQuery booleanQuery = null;
if (Validator.isNotNull(keywords)) {
booleanQuery = BooleanQueryFactoryUtil.create(searchContext);
} else {
booleanQuery = indexer.getFullQuery(searchContext);
}
if (Validator.isNotNull(groupId)) {
MultiMatchQuery query = new MultiMatchQuery(groupId);
query.addFields(Field.GROUP_ID);
booleanQuery.add(query, BooleanClauseOccur.MUST);
}
booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, CLASS_NAME);
return IndexSearcherHelperUtil.search(searchContext, booleanQuery);
}
示例3: getSearchContext
import com.liferay.portal.kernel.search.SearchContext; //导入方法依赖的package包/类
/**
* Get searchcontext.
*
* @return searchcontext object
* @throws Exception
*/
protected SearchContext getSearchContext() throws Exception {
ThemeDisplay themeDisplay =
(ThemeDisplay) _portletRequest.getAttribute(WebKeys.THEME_DISPLAY);
SearchContext searchContext = new SearchContext();
searchContext.setCompanyId(themeDisplay.getCompanyId());
searchContext.setStart(_queryParams.getStart());
searchContext.setEnd(_queryParams.getEnd());
searchContext.setSorts(_queryParams.getSorts());
// Set facets.
_facetsBuilder.setFacets(searchContext);
return searchContext;
}
示例4: buildSearchContext
import com.liferay.portal.kernel.search.SearchContext; //导入方法依赖的package包/类
protected SearchContext buildSearchContext(long userId, long groupId, long ownerUserId, String workPackage,
String description, int status, Date fromDate, Date untilDate, LinkedHashMap<String, Object> params,
boolean andSearch, boolean advancedSearch, int start, int end, Sort sort) throws PortalException {
SearchContext searchContext = new SearchContext();
searchContext.setAttribute("advancedSearch", advancedSearch);
searchContext.setAttribute(Field.STATUS, status);
if (Validator.isNotNull(description)) {
searchContext.setAttribute("description", description);
}
searchContext.setAttribute("fromDate", fromDate);
searchContext.setAttribute("untilDate", untilDate);
if (Validator.isNotNull(workPackage)) {
searchContext.setAttribute("workPackage", workPackage);
}
searchContext.setAttribute("paginationType", "more");
Group group = GroupLocalServiceUtil.getGroup(groupId);
searchContext.setCompanyId(group.getCompanyId());
if (ownerUserId > 0) {
searchContext.setOwnerUserId(ownerUserId);
}
searchContext.setEnd(end);
if (groupId > 0) {
searchContext.setGroupIds(new long[] { groupId });
}
searchContext.setSorts(sort);
searchContext.setStart(start);
searchContext.setUserId(userId);
searchContext.setAndSearch(andSearch);
if (params != null) {
String keywords = (String) params.remove("keywords");
if (Validator.isNotNull(keywords)) {
searchContext.setKeywords(keywords);
}
}
QueryConfig queryConfig = new QueryConfig();
queryConfig.setHighlightEnabled(false);
queryConfig.setScoreEnabled(false);
searchContext.setQueryConfig(queryConfig);
if (sort != null) {
searchContext.setSorts(sort);
}
searchContext.setStart(start);
return searchContext;
}
示例5: setSorting
import com.liferay.portal.kernel.search.SearchContext; //导入方法依赖的package包/类
/**
* Setup sorting, if confirured for this tab.
* @param searchContext the current SearchContext.
* @param tab the current tab configuration.
*/
private void setSorting(SearchContext searchContext, FlashlightSearchConfigurationTab tab) {
if (!StringPool.BLANK.equals(tab.getSortBy())) {
searchContext.setSorts(new Sort(tab.getSortBy() + "_sortable", tab.isSortReverse()));
}
}
示例6: buildSearchContext
import com.liferay.portal.kernel.search.SearchContext; //导入方法依赖的package包/类
protected SearchContext buildSearchContext(long userId, long groupId, long ownerUserId, String company,
String fullName, int status, LinkedHashMap<String, Object> params, boolean andSearch, int start, int end,
Sort sort) throws PortalException {
SearchContext searchContext = new SearchContext();
searchContext.setAttribute(Field.STATUS, status);
if (Validator.isNotNull(company)) {
searchContext.setAttribute("company", company);
}
if (Validator.isNotNull(fullName)) {
searchContext.setAttribute("fullName", fullName);
}
searchContext.setAttribute("paginationType", "more");
Group group = GroupLocalServiceUtil.getGroup(groupId);
searchContext.setCompanyId(group.getCompanyId());
if (ownerUserId > 0) {
searchContext.setOwnerUserId(ownerUserId);
}
searchContext.setEnd(end);
if (groupId > 0) {
searchContext.setGroupIds(new long[] { groupId });
}
searchContext.setSorts(sort);
searchContext.setStart(start);
searchContext.setUserId(userId);
searchContext.setAndSearch(andSearch);
if (params != null) {
String keywords = (String) params.remove("keywords");
if (Validator.isNotNull(keywords)) {
searchContext.setKeywords(keywords);
}
}
QueryConfig queryConfig = new QueryConfig();
queryConfig.setHighlightEnabled(false);
queryConfig.setScoreEnabled(false);
searchContext.setQueryConfig(queryConfig);
if (sort != null) {
searchContext.setSorts(sort);
}
searchContext.setStart(start);
return searchContext;
}
示例7: luceneSearchEngine
import com.liferay.portal.kernel.search.SearchContext; //导入方法依赖的package包/类
public Hits luceneSearchEngine(LinkedHashMap<String, Object> params, Sort[] sorts, int start, int end,
SearchContext searchContext) throws ParseException, SearchException {
// TODO
MultiMatchQuery query = null;
String keywords = (String) params.get("keywords");
String groupId = (String) params.get("groupId");
String userId = (String) params.get("userId");
Indexer<OfficeSite> indexer = IndexerRegistryUtil.nullSafeGetIndexer(OfficeSite.class);
searchContext.addFullQueryEntryClassName(OfficeSite.class.getName());
searchContext.setEntryClassNames(new String[] { OfficeSite.class.getName() });
searchContext.setAttribute("paginationType", "regular");
searchContext.setLike(true);
searchContext.setStart(start);
searchContext.setEnd(end);
searchContext.setAndSearch(true);
searchContext.setSorts(sorts);
BooleanQuery booleanQuery = null;
booleanQuery = Validator.isNotNull((String) keywords)
? BooleanQueryFactoryUtil.create((SearchContext) searchContext) : indexer.getFullQuery(searchContext);
if (Validator.isNotNull(groupId)) {
query = new MultiMatchQuery(groupId);
query.addFields(OfficeSiteTerm.GROUP_ID);
booleanQuery.add(query, BooleanClauseOccur.MUST);
}
if (Validator.isNotNull(userId)) {
query = new MultiMatchQuery(userId);
query.addFields(OfficeSiteTerm.USER_ID);
booleanQuery.add(query, BooleanClauseOccur.MUST);
}
booleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, OfficeSite.class.getName());
return IndexSearcherHelperUtil.search(searchContext, booleanQuery);
}
示例8: buildSearchContext
import com.liferay.portal.kernel.search.SearchContext; //导入方法依赖的package包/类
protected SearchContext buildSearchContext(long userId, long groupId,
String data, String id, String name, String range, Date timestamp,
Date fromDate, Date untilDate, LinkedHashMap<String, Object> params,
boolean andSearch, int start, int end, Sort sort)
throws PortalException {
SearchContext searchContext = new SearchContext();
searchContext.setAttribute("advancedSearch", true);
searchContext.setAttribute(Field.STATUS, WorkflowConstants.STATUS_ANY);
if (Validator.isNotNull(data)) {
searchContext.setAttribute("data", data);
}
if (Validator.isNotNull(id)) {
searchContext.setAttribute("id", id);
}
if (Validator.isNotNull(name)) {
searchContext.setAttribute("name", name);
}
if (Validator.isNotNull(range)) {
searchContext.setAttribute("range", range);
}
if (Validator.isNotNull(timestamp)) {
searchContext.setAttribute("timestamp", timestamp.getTime());
}
if (Validator.isNotNull(fromDate)) {
searchContext.setAttribute("fromDate", fromDate);
}
if (Validator.isNotNull(untilDate)) {
searchContext.setAttribute("untilDate", untilDate);
}
searchContext.setAttribute("paginationType", "more");
Group group = GroupLocalServiceUtil.getGroup(groupId);
searchContext.setCompanyId(group.getCompanyId());
searchContext.setEnd(end);
if (groupId > 0) {
searchContext.setGroupIds(new long[] { groupId });
}
searchContext.setSorts(sort);
searchContext.setStart(start);
searchContext.setUserId(userId);
searchContext.setAndSearch(andSearch);
if (params != null) {
String keywords = (String) params.remove("keywords");
if (Validator.isNotNull(keywords)) {
searchContext.setKeywords(keywords);
}
}
QueryConfig queryConfig = new QueryConfig();
queryConfig.setHighlightEnabled(false);
queryConfig.setScoreEnabled(false);
searchContext.setQueryConfig(queryConfig);
if (sort != null) {
searchContext.setSorts(sort);
}
searchContext.setStart(start);
return searchContext;
}
示例9: executeSearch
import com.liferay.portal.kernel.search.SearchContext; //导入方法依赖的package包/类
protected Document[] executeSearch(
SearchContext searchContext, BooleanQuery query, Sort[] sorts,
TermRangeQuery termRangeQuery, String[] indexFields, int size)
throws ParseException, SearchException {
BooleanQuery mainQuery = BooleanQueryFactoryUtil.create(searchContext);
mainQuery.add(query, BooleanClauseOccur.MUST);
if (termRangeQuery != null) {
mainQuery.add(termRangeQuery, BooleanClauseOccur.MUST);
}
if (sorts.length > 0) {
searchContext.setSorts(sorts);
}
if (_log.isDebugEnabled()) {
_log.debug("size: " + size);
_log.debug("Executing search: " + mainQuery);
}
searchContext.setStart(0);
searchContext.setEnd(size);
QueryConfig queryConfig = new QueryConfig();
queryConfig.setHighlightEnabled(false);
queryConfig.setScoreEnabled(false);
if (indexFields != null) {
queryConfig.setSelectedFieldNames(indexFields);
}
mainQuery.setQueryConfig(queryConfig);
searchContext.setQueryConfig(queryConfig);
Hits hits = SearchEngineUtil.search(searchContext, mainQuery);
Document[] docs = hits.getDocs();
if (_log.isDebugEnabled()) {
_log.debug(docs.length + " hits returned");
}
return docs;
}