List of usage examples for com.liferay.portal.kernel.search.filter BooleanFilter add
public Filter add(Filter filter, BooleanClauseOccur booleanClauseOccur)
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); }/*from w ww . ja 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.blade.samples.searchmodelprefiltercontributor.ModelPreFilterContributor.java
License:Apache License
@Override public void contribute(BooleanFilter booleanFilter, ModelSearchSettings modelSearchSettings, SearchContext searchContext) {// ww w. j av a 2 s.c om RangeTermFilter rangeTermFilter = new RangeTermFilter(Field.CREATE_DATE, true, true, "now-1h", null); booleanFilter.add(rangeTermFilter, BooleanClauseOccur.MUST); }
From source file:com.liferay.dynamic.data.lists.internal.search.DDLRecordIndexer.java
License:Open Source License
@Override public void postProcessContextBooleanFilter(BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { int status = GetterUtil.getInteger(searchContext.getAttribute(Field.STATUS), WorkflowConstants.STATUS_APPROVED); if (status != WorkflowConstants.STATUS_ANY) { contextBooleanFilter.addRequiredTerm(Field.STATUS, status); }/*from ww w. j a v a 2s.co m*/ long recordSetId = GetterUtil.getLong(searchContext.getAttribute("recordSetId")); if (recordSetId > 0) { contextBooleanFilter.addRequiredTerm("recordSetId", recordSetId); } long recordSetScope = GetterUtil.getLong(searchContext.getAttribute("recordSetScope"), DDLRecordSetConstants.SCOPE_DYNAMIC_DATA_LISTS); contextBooleanFilter.addRequiredTerm("recordSetScope", recordSetScope); addSearchClassTypeIds(contextBooleanFilter, searchContext); String ddmStructureFieldName = (String) searchContext.getAttribute("ddmStructureFieldName"); Serializable ddmStructureFieldValue = searchContext.getAttribute("ddmStructureFieldValue"); if (Validator.isNotNull(ddmStructureFieldName) && Validator.isNotNull(ddmStructureFieldValue)) { QueryFilter queryFilter = ddmIndexer.createFieldValueQueryFilter(ddmStructureFieldName, ddmStructureFieldValue, searchContext.getLocale()); contextBooleanFilter.add(queryFilter, BooleanClauseOccur.MUST); } }
From source file:com.liferay.dynamic.data.mapping.internal.search.DDMFormInstanceRecordIndexer.java
License:Open Source License
@Override public void postProcessContextBooleanFilter(BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { int status = GetterUtil.getInteger(searchContext.getAttribute(Field.STATUS), WorkflowConstants.STATUS_APPROVED); if (status != WorkflowConstants.STATUS_ANY) { contextBooleanFilter.addRequiredTerm(Field.STATUS, status); }// ww w .j a v a2 s . co m long ddmFormInstanceId = GetterUtil.getLong(searchContext.getAttribute("ddmFormInstanceId")); if (ddmFormInstanceId > 0) { contextBooleanFilter.addRequiredTerm("ddmFormInstanceId", ddmFormInstanceId); } addSearchClassTypeIds(contextBooleanFilter, searchContext); String ddmStructureFieldName = (String) searchContext.getAttribute("ddmStructureFieldName"); Serializable ddmStructureFieldValue = searchContext.getAttribute("ddmStructureFieldValue"); if (Validator.isNotNull(ddmStructureFieldName) && Validator.isNotNull(ddmStructureFieldValue)) { QueryFilter queryFilter = ddmIndexer.createFieldValueQueryFilter(ddmStructureFieldName, ddmStructureFieldValue, searchContext.getLocale()); contextBooleanFilter.add(queryFilter, BooleanClauseOccur.MUST); } }
From source file:com.liferay.journal.search.JournalArticleIndexer.java
License:Open Source License
@Override public void postProcessContextBooleanFilter(BooleanFilter contextBooleanFilter, SearchContext searchContext) throws Exception { Long classNameId = (Long) searchContext.getAttribute(Field.CLASS_NAME_ID); if ((classNameId != null) && (classNameId != 0)) { contextBooleanFilter.addRequiredTerm(Field.CLASS_NAME_ID, classNameId.toString()); }//from w w w. j ava 2s .co m addStatus(contextBooleanFilter, searchContext); addSearchClassTypeIds(contextBooleanFilter, searchContext); String ddmStructureFieldName = (String) searchContext.getAttribute("ddmStructureFieldName"); Serializable ddmStructureFieldValue = searchContext.getAttribute("ddmStructureFieldValue"); if (Validator.isNotNull(ddmStructureFieldName) && Validator.isNotNull(ddmStructureFieldValue)) { QueryFilter queryFilter = _ddmIndexer.createFieldValueQueryFilter(ddmStructureFieldName, ddmStructureFieldValue, searchContext.getLocale()); contextBooleanFilter.add(queryFilter, BooleanClauseOccur.MUST); } String ddmStructureKey = (String) searchContext.getAttribute("ddmStructureKey"); if (Validator.isNotNull(ddmStructureKey)) { contextBooleanFilter.addRequiredTerm("ddmStructureKey", ddmStructureKey); } String ddmTemplateKey = (String) searchContext.getAttribute("ddmTemplateKey"); if (Validator.isNotNull(ddmTemplateKey)) { contextBooleanFilter.addRequiredTerm("ddmTemplateKey", ddmTemplateKey); } boolean head = GetterUtil.getBoolean(searchContext.getAttribute("head"), Boolean.TRUE); boolean relatedClassName = GetterUtil.getBoolean(searchContext.getAttribute("relatedClassName")); boolean showNonindexable = GetterUtil.getBoolean(searchContext.getAttribute("showNonindexable")); if (head && !relatedClassName && !showNonindexable) { contextBooleanFilter.addRequiredTerm("head", Boolean.TRUE); } if (!relatedClassName && showNonindexable) { contextBooleanFilter.addRequiredTerm("headListable", Boolean.TRUE); } }
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); }//from ww w .ja v a 2s. 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 {/*from w w w .ja v a 2 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.trash.internal.search.TrashIndexer.java
License:Open Source License
/** * @deprecated As of 1.0.0, added strictly to support backwards * compatibility of {@link/*from ww w . j av a 2 s.co m*/ * TrashHandler#getExcludeQuery(SearchContext)} */ @Deprecated protected void processTrashHandlerExcludeQuery(SearchContext searchContext, BooleanFilter fullQueryBooleanFilter, TrashHandler trashHandler) { Query query = trashHandler.getExcludeQuery(searchContext); if (query != null) { fullQueryBooleanFilter.add(new QueryFilter(query), BooleanClauseOccur.MUST_NOT); } }
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 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)); } }
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); }/*w w w . java 2s . com*/ continue; } nodesIdTermsFilter.addValue(String.valueOf(nodeId)); } if (!nodesIdTermsFilter.isEmpty()) { contextBooleanFilter.add(nodesIdTermsFilter, BooleanClauseOccur.MUST); } } }