List of usage examples for com.liferay.portal.kernel.search BooleanClauseOccur SHOULD
BooleanClauseOccur SHOULD
To view the source code for com.liferay.portal.kernel.search BooleanClauseOccur SHOULD.
Click Source Link
From source file:com.liferay.portlet.journal.util.JournalArticleIndexer.java
License:Open Source License
@Override protected void addStatus(BooleanQuery contextQuery, SearchContext searchContext) throws Exception { LinkedHashMap<String, Object> params = (LinkedHashMap<String, Object>) searchContext.getAttribute("params"); boolean includeScheduledArticles = false; if (params != null) { includeScheduledArticles = GetterUtil.getBoolean(params.get("includeScheduledArticles")); }//from www. j a v a2s.c om if (includeScheduledArticles) { BooleanQuery statusQuery = BooleanQueryFactoryUtil.create(searchContext); BooleanQuery statusHeadQuery = BooleanQueryFactoryUtil.create(searchContext); statusHeadQuery.addRequiredTerm("head", Boolean.TRUE); statusHeadQuery.addRequiredTerm(Field.STATUS, WorkflowConstants.STATUS_APPROVED); statusQuery.add(statusHeadQuery, BooleanClauseOccur.SHOULD); BooleanQuery statusScheduledHeadQuery = BooleanQueryFactoryUtil.create(searchContext); statusScheduledHeadQuery.addRequiredTerm("scheduledHead", Boolean.TRUE); statusScheduledHeadQuery.addRequiredTerm(Field.STATUS, WorkflowConstants.STATUS_SCHEDULED); statusQuery.add(statusScheduledHeadQuery, BooleanClauseOccur.SHOULD); contextQuery.add(statusQuery, BooleanClauseOccur.MUST); } else { super.addStatus(contextQuery, searchContext); boolean head = GetterUtil.getBoolean(searchContext.getAttribute("head"), Boolean.TRUE); boolean relatedClassName = GetterUtil.getBoolean(searchContext.getAttribute("relatedClassName")); if (head && !relatedClassName) { contextQuery.addRequiredTerm("head", Boolean.TRUE); } } }
From source file:com.liferay.portlet.tags.service.impl.TagsAssetLocalServiceImpl.java
License:Open Source License
public Hits search(long companyId, String portletId, String keywords, int start, int end) throws SystemException { try {// w ww . ja v a 2 s . c om BooleanQuery contextQuery = BooleanQueryFactoryUtil.create(); if (Validator.isNotNull(portletId)) { contextQuery.addRequiredTerm(Field.PORTLET_ID, portletId); } else { BooleanQuery portletIdsQuery = BooleanQueryFactoryUtil.create(); for (String assetTypePortletId : TagsUtil.ASSET_TYPE_PORTLET_IDS) { TermQuery termQuery = TermQueryFactoryUtil.create(Field.PORTLET_ID, assetTypePortletId); portletIdsQuery.add(termQuery, BooleanClauseOccur.SHOULD); } contextQuery.add(portletIdsQuery, BooleanClauseOccur.MUST); } BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(); if (Validator.isNotNull(keywords)) { searchQuery.addTerm(Field.TITLE, keywords); searchQuery.addTerm(Field.CONTENT, keywords); searchQuery.addTerm(Field.DESCRIPTION, keywords); searchQuery.addTerm(Field.PROPERTIES, 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: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) {/* w ww . ja v a 2s . 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.EmpLocalServiceImpl.java
License:Open Source License
public Query createStringListQuery(String property, List<String> values, SearchContext searchContext) throws ParseException { final BooleanQuery query = BooleanQueryFactoryUtil.create(searchContext); for (String value : values) { TermQuery termQuery = TermQueryFactoryUtil.create(searchContext, property, StringUtils.trimToEmpty(removeDashChar(value))); query.add(termQuery, BooleanClauseOccur.SHOULD); }//from w w w . ja va 2 s. c o m return query; }
From source file:vn.com.ecopharma.emp.service.impl.EmpLocalServiceImpl.java
License:Open Source License
private Query createOrganizationFilterQuery(String property, List<String> values, SearchContext searchContext) throws ParseException { final BooleanQuery query = BooleanQueryFactoryUtil.create(searchContext); for (String value : values) { TermQuery termQuery = TermQueryFactoryUtil.create(searchContext, property, StringUtils.trimToEmpty(value)); query.add(termQuery, BooleanClauseOccur.SHOULD); }// ww w .ja v a 2 s . c o m return query; }