List of usage examples for com.liferay.portal.kernel.search.filter TermsFilter addValues
public void addValues(String... values)
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); }// ww w . ja v a2 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.trash.internal.search.TrashIndexer.java
License:Open Source License
@Override public BooleanQuery getFullQuery(SearchContext searchContext) throws SearchException { try {//from w ww.j ava2 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 av a 2 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)); } }