List of usage examples for com.liferay.portal.kernel.search BooleanClauseOccur MUST
BooleanClauseOccur MUST
To view the source code for com.liferay.portal.kernel.search BooleanClauseOccur MUST.
Click Source Link
From source file:com.liferay.trash.internal.search.TrashIndexer.java
License:Open Source License
@Override public BooleanQuery getFullQuery(SearchContext searchContext) throws SearchException { try {//from ww w . java 2 s.co 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; }/* w w w . j av a 2s.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); }/*from www. ja v a2 s .com*/ continue; } nodesIdTermsFilter.addValue(String.valueOf(nodeId)); } if (!nodesIdTermsFilter.isEmpty()) { contextBooleanFilter.add(nodesIdTermsFilter, BooleanClauseOccur.MUST); } } }
From source file:com.liferay.wiki.search.WikiPageTitleSearcher.java
License:Open Source License
@Override public void postProcessSearchQuery(BooleanQuery searchQuery, BooleanFilter fullQueryBooleanFilter, SearchContext searchContext) throws Exception { MatchQuery matchQuery = new MatchQuery(Field.TITLE, StringUtil.toLowerCase(searchContext.getKeywords())); matchQuery.setType(MatchQuery.Type.PHRASE_PREFIX); searchQuery.add(matchQuery, BooleanClauseOccur.MUST); }
From source file:com.vportal.portlet.vcms.service.impl.VcmsArticleServiceImpl.java
License:Open Source License
public Hits search(long companyId, long groupId, long userId, String keywords, int start, int end) throws SystemException { try {/* w ww.jav a 2 s .co m*/ BooleanQuery contextQuery = BooleanQueryFactoryUtil.create(); contextQuery.addRequiredTerm(Field.PORTLET_ID, PortletKeysExt.VCMS); if (groupId > 0) { contextQuery.addRequiredTerm(Field.GROUP_ID, groupId); } if (userId > 0) { contextQuery.addRequiredTerm(Field.USER_ID, userId); } BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(); if (Validator.isNotNull(keywords)) { searchQuery.addTerm(Field.TITLE, keywords); searchQuery.addTerm(Field.DESCRIPTION, keywords); searchQuery.addTerm(Field.CONTENT, keywords); /*searchQuery.addTerm(Field.TAGS_ENTRIES, keywords);*/ searchQuery.addTerm(Field.ASSET_TAG_NAMES, keywords); } BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(); fullQuery.add(contextQuery, BooleanClauseOccur.MUST); if (searchQuery.clauses().size() > 0) { fullQuery.add(searchQuery, BooleanClauseOccur.MUST); } return SearchEngineUtil.search(companyId, fullQuery, start, end); } catch (Exception e) { throw new SystemException(e); } }
From source file:com.vportal.portlet.vfaq.service.impl.FAQQuestionLocalServiceImpl.java
License:Open Source License
public Hits search(long companyId, long groupId, long userId, String keywords, int start, int end) throws SystemException { try {//from www. ja v a2 s . c o m BooleanQuery contextQuery = BooleanQueryFactoryUtil.create(); contextQuery.addRequiredTerm(Field.PORTLET_ID, PortletKeysExt.FAQ_QUESTION); if (groupId > 0) { contextQuery.addRequiredTerm(Field.GROUP_ID, groupId); } if (userId > 0) { contextQuery.addRequiredTerm(Field.USER_ID, userId); } BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(); if (Validator.isNotNull(keywords)) { searchQuery.addTerm(Field.TITLE, keywords); searchQuery.addTerm(Field.CONTENT, keywords); /*searchQuery.addTerm(Field.TAGS_ENTRIES, keywords);*/ } BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(); fullQuery.add(contextQuery, BooleanClauseOccur.MUST); if (searchQuery.clauses().size() > 0) { fullQuery.add(searchQuery, BooleanClauseOccur.MUST); } return SearchEngineUtil.search(companyId, fullQuery, start, end); } catch (Exception e) { throw new SystemException(e); } }
From source file:com.vportal.portlet.vlegal.service.impl.VLegalDocumentServiceImpl.java
License:Open Source License
public Hits search(long companyId, long groupId, long userId, String keywords, int start, int end) throws SystemException { try {/*w ww .j a v a2s . co m*/ BooleanQuery contextQuery = BooleanQueryFactoryUtil.create(); contextQuery.addRequiredTerm(Field.PORTLET_ID, PortletKeysExt.VLEGAL); if (groupId > 0) { contextQuery.addRequiredTerm(Field.GROUP_ID, groupId); } if (userId > 0) { contextQuery.addRequiredTerm(Field.USER_ID, userId); } BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(); if (Validator.isNotNull(keywords)) { searchQuery.addTerm(Field.TITLE, keywords); searchQuery.addTerm(Field.CONTENT, keywords); searchQuery.addTerm(Field.ASSET_TAG_NAMES, keywords); } BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(); fullQuery.add(contextQuery, BooleanClauseOccur.MUST); if (searchQuery.clauses().size() > 0) { fullQuery.add(searchQuery, BooleanClauseOccur.MUST); } return SearchEngineUtil.search(companyId, fullQuery, start, end); } catch (Exception e) { throw new SystemException(e); } }
From source file:jorgediazest.indexchecker.model.IndexCheckerModelQuery.java
License:Open Source License
public BooleanQuery getIndexQuery(List<Long> groupIds, SearchContext searchContext) throws ParseException { BooleanQuery query = BooleanQueryFactoryUtil.create(searchContext); query.addRequiredTerm(Field.ENTRY_CLASS_NAME, getModel().getClassName()); if (getModel().hasAttribute("groupId") && (groupIds != null)) { BooleanQuery groupQuery = BooleanQueryFactoryUtil.create(searchContext); for (Long groupId : groupIds) { groupQuery.addTerm(Field.SCOPE_GROUP_ID, groupId); }//from w w w . j a va 2 s . c om query.add(groupQuery, BooleanClauseOccur.MUST); } return query; }
From source file:org.fit.portlet.service.service.impl.InserFitxaPersonalLocalServiceImpl.java
License:Open Source License
private Hits searchFitxaPersonalHits(long companyId, long groupId, long[] organizationIds, String searchText, long tecnicReferent, long codiProjecte, long serveiSocial, int start, int end, String orderByCol, String orderByType) {/*from w ww . ja v a2 s .c om*/ try { String searchEngineId = SearchEngineUtil.getDefaultSearchEngineId(); SearchEngine searchEngine = SearchEngineUtil.getSearchEngine(searchEngineId); BooleanQueryFactory booleanQueryFactory = searchEngine.getBooleanQueryFactory(); BooleanQuery query = booleanQueryFactory.create(); // Context query query.addRequiredTerm(Field.COMPANY_ID, companyId); query.addRequiredTerm(Field.CLASS_NAME_ID, InserFitxaPersonal.class.getName()); if (groupId > -1) { query.addRequiredTerm(Field.GROUP_ID, groupId); } if (Validator.isNotNull(organizationIds)) { BooleanQuery organizationQuery = booleanQueryFactory.create(); if (organizationIds.length > 1 && organizationIds[0] == -2) { BooleanQuery q = booleanQueryFactory.create(); SearchContext searchContext = new SearchContext(); TermRangeQuery oq = TermRangeQueryFactoryUtil.create(searchContext, Field.ORGANIZATION_ID, "-1", "0", true, false); q.add(oq, BooleanClauseOccur.SHOULD); // L'usuari vol veure tots els que estan sense localitzaci query.add(q, BooleanClauseOccur.MUST); } else { for (long idorg : organizationIds) { if (idorg > -1) { organizationQuery.addTerm(Field.ORGANIZATION_ID, idorg); } } } if (organizationQuery.hasClauses()) { query.add(organizationQuery, BooleanClauseOccur.MUST); } } if (Validator.isNotNull(searchText)) { BooleanQuery searchTextQuery = booleanQueryFactory.create(); searchTextQuery.addExactTerm(GestioPersonesIndexConstants.NUM_EXPEDIENT, searchText); searchTextQuery.addExactTerm(GestioPersonesIndexConstants.DNI, searchText); searchTextQuery.addTerm(Field.DESCRIPTION, searchText); searchTextQuery.addTerm(Field.TITLE, searchText); searchTextQuery.addTerm(GestioPersonesIndexConstants.TECNIC_REFERENT, searchText); searchTextQuery.addTerm(GestioPersonesIndexConstants.OBSERVACIONS, searchText); searchTextQuery.addTerm(GestioPersonesIndexConstants.SEGUIMENT_ITINERARI, searchText); searchTextQuery.addTerm(GestioPersonesIndexConstants.SEGUIMENT_ITINERARI, searchText); query.add(searchTextQuery, BooleanClauseOccur.MUST); } // Cerca avanada if (tecnicReferent > -1) { query.addRequiredTerm(GestioPersonesIndexConstants.TECNIC_REFERENT_ID, tecnicReferent); } if (codiProjecte > -1) { query.addRequiredTerm(GestioPersonesIndexConstants.CODI_PROJECTE_ID, codiProjecte); } if (serveiSocial > -1) { query.addRequiredTerm(GestioPersonesIndexConstants.SERVEI_SOCIAL_ID, serveiSocial); } Sort sort = new Sort(); sort.setReverse(false); if (Validator.isNotNull(orderByCol)) { int type = getType(orderByCol); sort.setType(type); sort.setFieldName(orderByCol); if (Validator.isNotNull(orderByType)) { if (orderByType.equalsIgnoreCase("desc")) { sort.setReverse(true); } } } log.info(query.toString() + " " + sort.toString()); Hits search = SearchEngineUtil.search(searchEngineId, companyId, query, sort, start, end); return search; } catch (SearchException e) { log.error(e); } catch (ParseException e) { log.error(e); } return null; }
From source file:vn.com.ecopharma.emp.service.impl.EmpAnnualLeaveLocalServiceImpl.java
License:Open Source License
public List<Document> searchAllDocuments(SearchContext searchContext, List<Query> filterQueries, long companyId, Sort sort, int start, int end) { LOGGER.info("FilterQueries size: " + filterQueries.size()); final BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext); final BooleanQuery allEntriesBooleanQuery = BooleanQueryFactoryUtil.create(searchContext); allEntriesBooleanQuery.addRequiredTerm(Field.ENTRY_CLASS_NAME, EmpAnnualLeave.class.getName()); try {// w w w. j a v a2s .co m // add filter queries fullQuery.add(allEntriesBooleanQuery, BooleanClauseOccur.MUST); if (filterQueries != null && filterQueries.size() > 0) { for (Query query : filterQueries) { fullQuery.add(query, BooleanClauseOccur.MUST); } } final List<Document> documents = SearchEngineUtil .search(SearchEngineUtil.getDefaultSearchEngineId(), companyId, fullQuery, sort, start, end) .toList(); LOGGER.info("RESULT SIZE: " + documents.size()); return documents; } catch (SearchException e) { LogFactoryUtil.getLog(EmpDisciplineLocalServiceImpl.class).info(e); } catch (ParseException e) { LogFactoryUtil.getLog(EmpDisciplineLocalServiceImpl.class).info(e); } return new ArrayList<>(); }