List of usage examples for com.liferay.portal.kernel.search.filter TermsFilter TermsFilter
public TermsFilter(String field)
From source file:com.liferay.asset.categories.internal.search.AssetCategoryIndexer.java
License:Open Source License
@Override public void postProcessContextBooleanFilter(BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { long[] parentCategoryIds = (long[]) searchContext.getAttribute(Field.ASSET_PARENT_CATEGORY_IDS); if (!ArrayUtil.isEmpty(parentCategoryIds)) { TermsFilter parentCategoryTermsFilter = new TermsFilter(Field.ASSET_PARENT_CATEGORY_ID); parentCategoryTermsFilter.addValues(ArrayUtil.toStringArray(parentCategoryIds)); contextBooleanFilter.add(parentCategoryTermsFilter, BooleanClauseOccur.MUST); }/* w w w .j a va2 s .c o m*/ long[] vocabularyIds = (long[]) searchContext.getAttribute(Field.ASSET_VOCABULARY_IDS); if (!ArrayUtil.isEmpty(vocabularyIds)) { TermsFilter vocabularyTermsFilter = new TermsFilter(Field.ASSET_VOCABULARY_ID); vocabularyTermsFilter.addValues(ArrayUtil.toStringArray(vocabularyIds)); contextBooleanFilter.add(vocabularyTermsFilter, BooleanClauseOccur.MUST); } }
From source file:com.liferay.message.boards.internal.search.MBMessageIndexer.java
License:Open Source License
@Override public void postProcessContextBooleanFilter(BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { addStatus(contextBooleanFilter, searchContext); boolean discussion = GetterUtil.getBoolean(searchContext.getAttribute("discussion")); contextBooleanFilter.addRequiredTerm("discussion", discussion); if (searchContext.isIncludeDiscussions()) { addRelatedClassNames(contextBooleanFilter, searchContext); }/* w w w . j a v a 2 s . c o m*/ String classNameId = GetterUtil.getString(searchContext.getAttribute(Field.CLASS_NAME_ID)); if (Validator.isNotNull(classNameId)) { contextBooleanFilter.addRequiredTerm(Field.CLASS_NAME_ID, classNameId); } long threadId = GetterUtil.getLong((String) searchContext.getAttribute("threadId")); if (threadId > 0) { contextBooleanFilter.addRequiredTerm("threadId", threadId); } long[] categoryIds = searchContext.getCategoryIds(); if ((categoryIds != null) && (categoryIds.length > 0) && (categoryIds[0] != MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID)) { TermsFilter categoriesTermsFilter = new TermsFilter(Field.CATEGORY_ID); for (long categoryId : categoryIds) { try { mbCategoryService.getCategory(categoryId); } catch (PortalException pe) { if (_log.isDebugEnabled()) { _log.debug("Unable to get message boards category " + categoryId, pe); } continue; } categoriesTermsFilter.addValue(String.valueOf(categoryId)); } if (!categoriesTermsFilter.isEmpty()) { contextBooleanFilter.add(categoriesTermsFilter, BooleanClauseOccur.MUST); } } }
From source file:com.liferay.trash.internal.search.TrashIndexer.java
License:Open Source License
@Override public BooleanQuery getFullQuery(SearchContext searchContext) throws SearchException { try {/*w w w . j a v a2 s . c o m*/ BooleanFilter fullQueryBooleanFilter = new BooleanFilter(); fullQueryBooleanFilter.addRequiredTerm(Field.COMPANY_ID, searchContext.getCompanyId()); List<TrashHandler> trashHandlers = TrashHandlerRegistryUtil.getTrashHandlers(); for (TrashHandler trashHandler : trashHandlers) { Filter filter = trashHandler.getExcludeFilter(searchContext); if (filter != null) { fullQueryBooleanFilter.add(filter, BooleanClauseOccur.MUST_NOT); } processTrashHandlerExcludeQuery(searchContext, fullQueryBooleanFilter, trashHandler); } long[] groupIds = searchContext.getGroupIds(); if (ArrayUtil.isNotEmpty(groupIds)) { TermsFilter groupTermsFilter = new TermsFilter(Field.GROUP_ID); groupTermsFilter.addValues(ArrayUtil.toStringArray(groupIds)); fullQueryBooleanFilter.add(groupTermsFilter, BooleanClauseOccur.MUST); } fullQueryBooleanFilter.addRequiredTerm(Field.STATUS, WorkflowConstants.STATUS_IN_TRASH); BooleanQuery fullQuery = createFullQuery(fullQueryBooleanFilter, searchContext); return fullQuery; } catch (SearchException se) { throw se; } catch (Exception e) { throw new SearchException(e); } }
From source file:com.liferay.users.admin.internal.search.UserIndexer.java
License:Open Source License
protected void addContextQueryParams(BooleanFilter contextFilter, SearchContext searchContext, String key, Object value) throws Exception { if (key.equals("usersGroups")) { if (value instanceof Long[]) { Long[] values = (Long[]) value; if (ArrayUtil.isEmpty(values)) { return; }//from ww w . j a v a2 s .c o m TermsFilter userGroupsTermsFilter = new TermsFilter("groupIds"); userGroupsTermsFilter.addValues(ArrayUtil.toStringArray(values)); contextFilter.add(userGroupsTermsFilter, BooleanClauseOccur.MUST); } else { contextFilter.addRequiredTerm("groupIds", String.valueOf(value)); } } else if (key.equals("usersOrgs")) { if (value instanceof Long[]) { Long[] values = (Long[]) value; if (ArrayUtil.isEmpty(values)) { return; } TermsFilter organizationsTermsFilter = new TermsFilter("organizationIds"); TermsFilter ancestorOrgsTermsFilter = new TermsFilter("ancestorOrganizationIds"); String[] organizationIdsStrings = ArrayUtil.toStringArray(values); ancestorOrgsTermsFilter.addValues(organizationIdsStrings); organizationsTermsFilter.addValues(organizationIdsStrings); BooleanFilter userOrgsBooleanFilter = new BooleanFilter(); userOrgsBooleanFilter.add(ancestorOrgsTermsFilter); userOrgsBooleanFilter.add(organizationsTermsFilter); contextFilter.add(userOrgsBooleanFilter, BooleanClauseOccur.MUST); } else { contextFilter.addRequiredTerm("organizationIds", String.valueOf(value)); } } else if (key.equals("usersOrgsCount")) { contextFilter.addRequiredTerm("organizationCount", String.valueOf(value)); } else if (key.equals("usersRoles")) { contextFilter.addRequiredTerm("roleIds", String.valueOf(value)); } else if (key.equals("usersTeams")) { contextFilter.addRequiredTerm("teamIds", String.valueOf(value)); } else if (key.equals("usersUserGroups")) { contextFilter.addRequiredTerm("userGroupIds", String.valueOf(value)); } }
From source file:com.liferay.wiki.search.WikiPageIndexer.java
License:Open Source License
@Override public void postProcessContextBooleanFilter(BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { addStatus(contextBooleanFilter, searchContext); long[] nodeIds = searchContext.getNodeIds(); if (ArrayUtil.isNotEmpty(nodeIds)) { TermsFilter nodesIdTermsFilter = new TermsFilter(Field.NODE_ID); for (long nodeId : nodeIds) { try { _wikiNodeService.getNode(nodeId); } catch (Exception e) { if (_log.isDebugEnabled()) { _log.debug("Unable to get wiki node " + nodeId, e); }/*ww w . ja v a 2 s.c om*/ continue; } nodesIdTermsFilter.addValue(String.valueOf(nodeId)); } if (!nodesIdTermsFilter.isEmpty()) { contextBooleanFilter.add(nodesIdTermsFilter, BooleanClauseOccur.MUST); } } }