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.ext.portlet.Activity.ActivityUtil.java
License:Open Source License
private static Hits getAggregatedActivitySearchResults(long userId, int start, int end) throws SearchException { SearchContext context = new SearchContext(); context.setCompanyId(DEFAULT_COMPANY_ID); BooleanQuery query = BooleanQueryFactoryUtil.create(context); query.addRequiredTerm(Field.ENTRY_CLASS_NAME, SocialActivity.class.getName()); BooleanQuery subQuery = BooleanQueryFactoryUtil.create(context); subQuery.addExactTerm("userId", userId); try {/* w w w . j av a 2 s . co m*/ query.add(subQuery, BooleanClauseOccur.MUST); } catch (ParseException e) { _log.error(e); } Sort sort = SortFactoryUtil.create("createDate", Sort.FLOAT_TYPE, true); return SearchEngineUtil.search(SearchEngineUtil.getDefaultSearchEngineId(), context.getCompanyId(), query, sort, start, end); }
From source file:com.library.slayer.service.impl.LMSBookLocalServiceImpl.java
License:Open Source License
/** * @param fieldName//www.j av a 2s .c om * @param value * @param searchContext * @param fullQuery * @return */ private BooleanQuery createQuery(String fieldName, String value, SearchContext searchContext, BooleanQuery fullQuery) { BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(searchContext); String[] splitValue = value.split(","); for (String splitVal : splitValue) { try { searchQuery.addTerm(fieldName, splitVal.replace(" ", ",")); } catch (ParseException e) { } } try { fullQuery.add(searchQuery, BooleanClauseOccur.MUST); } catch (ParseException e) { } return fullQuery; }
From source file:com.library.slayer.service.impl.LMSBookLocalServiceImpl.java
License:Open Source License
public List<LMSBook> advanceSearchAll(long companyId, long groupId, String title, String author, String desc, String type) {//w w w .j av a 2 s . co m SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(companyId); searchContext.setEntryClassNames(CLASS_NAMES); BooleanQuery contextQuery = BooleanQueryFactoryUtil.create(searchContext); contextQuery.addRequiredTerm(Field.COMPANY_ID, companyId); contextQuery.addRequiredTerm(Field.PORTLET_ID, Long.toString(ClassNameLocalServiceUtil.getClassNameId(LMSBook.class))); BooleanQuery fullQuery = BooleanQueryFactoryUtil.create(searchContext); fullQuery.setQueryConfig(searchContext.getQueryConfig()); try { fullQuery.add(contextQuery, BooleanClauseOccur.MUST); } catch (ParseException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } BooleanQuery searchQuery = BooleanQueryFactoryUtil.create(searchContext); Hits hits = null; if (Validator.isNotNull(title)) { Sort sort = new Sort(Field.TITLE, true); searchContext.setSorts(new Sort[] { sort }); fullQuery = createQuery(Field.TITLE, title, searchContext, fullQuery); } if (Validator.isNotNull(author)) { fullQuery = createQuery(Field.NAME, author, searchContext, fullQuery); } if (Validator.isNotNull(desc)) { fullQuery = createQuery(Field.DESCRIPTION, desc, searchContext, fullQuery); } if (searchQuery.clauses().size() > 0) { try { fullQuery.add(searchQuery, BooleanClauseOccur.MUST); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } try { hits = SearchEngineUtil.search(searchContext, fullQuery); } catch (SearchException e) { // TODO Auto-generated catch block e.printStackTrace(); } List<LMSBook> books = new ArrayList<LMSBook>(); if (hits != null && hits.getLength() > 0) { for (Document document : hits.getDocs()) { long bookId = Long.parseLong(document.get(Field.ENTRY_CLASS_PK)); try { LMSBook book = LMSBookLocalServiceUtil.getLMSBook(bookId); books.add(book); } catch (PortalException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } return books; }
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 . j a v a 2s . c om*/ 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) {/* w ww .j a va 2 s. co m*/ RangeTermFilter rangeTermFilter = new RangeTermFilter(Field.CREATE_DATE, true, true, "now-1h", null); booleanFilter.add(rangeTermFilter, BooleanClauseOccur.MUST); }
From source file:com.liferay.configuration.admin.web.internal.search.ConfigurationModelIndexer.java
License:Open Source License
@Override protected BooleanQuery createFullQuery(BooleanFilter fullQueryBooleanFilter, SearchContext searchContext) throws Exception { BooleanQuery searchQuery = new BooleanQueryImpl(); addSearchLocalizedTerm(searchQuery, searchContext, Field.DESCRIPTION, false); addSearchLocalizedTerm(searchQuery, searchContext, Field.TITLE, false); addSearchTerm(searchQuery, searchContext, FieldNames.CONFIGURATION_MODEL_ATTRIBUTE_DESCRIPTION, false); addSearchTerm(searchQuery, searchContext, FieldNames.CONFIGURATION_MODEL_ATTRIBUTE_NAME, false); addSearchTerm(searchQuery, searchContext, FieldNames.CONFIGURATION_MODEL_FACTORY_PID, false); addSearchTerm(searchQuery, searchContext, FieldNames.CONFIGURATION_MODEL_ID, false); BooleanQuery fullBooleanQuery = new BooleanQueryImpl(); if (fullQueryBooleanFilter.hasClauses()) { fullBooleanQuery.setPreBooleanFilter(fullQueryBooleanFilter); }/*w ww . j a v a 2 s . c o m*/ fullBooleanQuery.add(searchQuery, BooleanClauseOccur.MUST); return fullBooleanQuery; }
From source file:com.liferay.document.library.repository.cmis.search.BaseCmisSearchQueryBuilder.java
License:Open Source License
protected void traverseContentQuery(CMISJunction cmisJunction, Query query, QueryConfig queryConfig) throws SearchException { if (query instanceof BooleanQuery) { BooleanQuery booleanQuery = (BooleanQuery) query; List<BooleanClause<Query>> booleanClauses = booleanQuery.clauses(); CMISFullTextConjunction anyCMISConjunction = new CMISFullTextConjunction(); CMISDisjunction cmisDisjunction = new CMISDisjunction(); CMISFullTextConjunction notCMISConjunction = new CMISFullTextConjunction(); for (BooleanClause<Query> booleanClause : booleanClauses) { CMISJunction currentCMISJunction = cmisDisjunction; BooleanClauseOccur booleanClauseOccur = booleanClause.getBooleanClauseOccur(); if (booleanClauseOccur.equals(BooleanClauseOccur.MUST)) { currentCMISJunction = anyCMISConjunction; } else if (booleanClauseOccur.equals(BooleanClauseOccur.MUST_NOT)) { currentCMISJunction = notCMISConjunction; }/* www .ja v a 2 s . c om*/ Query booleanClauseQuery = booleanClause.getClause(); traverseContentQuery(currentCMISJunction, booleanClauseQuery, queryConfig); } if (!anyCMISConjunction.isEmpty()) { cmisJunction.add(anyCMISConjunction); } if (!cmisDisjunction.isEmpty()) { cmisJunction.add(cmisDisjunction); } if (!notCMISConjunction.isEmpty()) { CMISContainsNotExpression cmisContainsNotExpression = new CMISContainsNotExpression( notCMISConjunction); cmisJunction.add(cmisContainsNotExpression); } } else if (query instanceof TermQuery) { TermQuery termQuery = (TermQuery) query; QueryTerm queryTerm = termQuery.getQueryTerm(); if (!_isContentFieldQueryTerm(queryTerm)) { return; } String field = queryTerm.getField(); String value = queryTerm.getValue(); value = CMISParameterValueUtil.formatParameterValue(field, value, false, queryConfig); CMISContainsValueExpression cmisContainsValueExpression = new CMISContainsValueExpression(value); cmisJunction.add(cmisContainsValueExpression); } else if (query instanceof WildcardQuery) { WildcardQuery wildcardQuery = (WildcardQuery) query; QueryTerm queryTerm = wildcardQuery.getQueryTerm(); if (!_isContentFieldQueryTerm(queryTerm)) { return; } String value = queryTerm.getValue(); String[] terms = value.split(_STAR_PATTERN); CMISConjunction cmisConjunction = new CMISConjunction(); for (String term : terms) { if (Validator.isNotNull(term)) { CMISContainsValueExpression containsValueExpression = new CMISContainsValueExpression(term); cmisConjunction.add(containsValueExpression); } } cmisJunction.add(cmisConjunction); } else if (query instanceof TermRangeQuery) { return; } }
From source file:com.liferay.document.library.repository.cmis.search.BaseCmisSearchQueryBuilder.java
License:Open Source License
protected void traversePropertiesQuery(CMISJunction cmisJunction, Query query, QueryConfig queryConfig) throws SearchException { if (query instanceof BooleanQuery) { BooleanQuery booleanQuery = (BooleanQuery) query; List<BooleanClause<Query>> booleanClauses = booleanQuery.clauses(); CMISConjunction anyCMISConjunction = new CMISConjunction(); CMISDisjunction cmisDisjunction = new CMISDisjunction(); CMISConjunction notCMISConjunction = new CMISConjunction(); for (BooleanClause<Query> booleanClause : booleanClauses) { CMISJunction currentCMISJunction = cmisDisjunction; BooleanClauseOccur booleanClauseOccur = booleanClause.getBooleanClauseOccur(); if (booleanClauseOccur.equals(BooleanClauseOccur.MUST)) { currentCMISJunction = anyCMISConjunction; } else if (booleanClauseOccur.equals(BooleanClauseOccur.MUST_NOT)) { currentCMISJunction = notCMISConjunction; }//from w w w. ja v a 2 s .c o m Query booleanClauseQuery = booleanClause.getClause(); traversePropertiesQuery(currentCMISJunction, booleanClauseQuery, queryConfig); } if (!anyCMISConjunction.isEmpty()) { cmisJunction.add(anyCMISConjunction); } if (!cmisDisjunction.isEmpty()) { cmisJunction.add(cmisDisjunction); } if (!notCMISConjunction.isEmpty()) { cmisJunction.add(new CMISNotExpression(notCMISConjunction)); } } else if (query instanceof MatchQuery) { MatchQuery matchQuery = (MatchQuery) query; if (!isSupportedField(matchQuery.getField())) { return; } CMISCriterion cmisCriterion = buildFieldExpression(matchQuery.getField(), matchQuery.getValue(), CMISSimpleExpressionOperator.EQ, queryConfig); if (cmisCriterion != null) { cmisJunction.add(cmisCriterion); } } else if (query instanceof TermQuery) { TermQuery termQuery = (TermQuery) query; QueryTerm queryTerm = termQuery.getQueryTerm(); if (!isSupportedField(queryTerm.getField())) { return; } CMISCriterion cmisCriterion = buildFieldExpression(queryTerm.getField(), queryTerm.getValue(), CMISSimpleExpressionOperator.EQ, queryConfig); if (cmisCriterion != null) { cmisJunction.add(cmisCriterion); } } else if (query instanceof TermRangeQuery) { TermRangeQuery termRangeQuery = (TermRangeQuery) query; if (!isSupportedField(termRangeQuery.getField())) { return; } String fieldName = termRangeQuery.getField(); String cmisField = getCmisField(fieldName); String cmisLowerTerm = CMISParameterValueUtil.formatParameterValue(fieldName, termRangeQuery.getLowerTerm(), false, queryConfig); String cmisUpperTerm = CMISParameterValueUtil.formatParameterValue(fieldName, termRangeQuery.getUpperTerm(), false, queryConfig); CMISCriterion cmisCriterion = new CMISBetweenExpression(cmisField, cmisLowerTerm, cmisUpperTerm, termRangeQuery.includesLower(), termRangeQuery.includesUpper()); cmisJunction.add(cmisCriterion); } else if (query instanceof WildcardQuery) { WildcardQuery wildcardQuery = (WildcardQuery) query; QueryTerm queryTerm = wildcardQuery.getQueryTerm(); if (!isSupportedField(queryTerm.getField())) { return; } CMISCriterion cmisCriterion = buildFieldExpression(queryTerm.getField(), queryTerm.getValue(), CMISSimpleExpressionOperator.LIKE, queryConfig); if (cmisCriterion != null) { cmisJunction.add(cmisCriterion); } } }
From source file:com.liferay.document.library.repository.search.internal.LuceneRepositorySearchQueryTermBuilder.java
License:Open Source License
protected org.apache.lucene.search.BooleanClause.Occur getBooleanClauseOccur(BooleanClauseOccur occur) { if (occur.equals(BooleanClauseOccur.MUST)) { return org.apache.lucene.search.BooleanClause.Occur.MUST; } else if (occur.equals(BooleanClauseOccur.MUST_NOT)) { return org.apache.lucene.search.BooleanClause.Occur.MUST_NOT; }//from ww w .ja va 2 s .c o m return org.apache.lucene.search.BooleanClause.Occur.SHOULD; }
From source file:com.liferay.document.library.repository.search.internal.LuceneRepositorySearchQueryTermBuilder.java
License:Open Source License
protected BooleanClauseOccur getBooleanClauseOccur(org.apache.lucene.search.BooleanClause.Occur occur) { if (occur.equals(org.apache.lucene.search.BooleanClause.Occur.MUST)) { return BooleanClauseOccur.MUST; } else if (occur.equals(org.apache.lucene.search.BooleanClause.Occur.MUST_NOT)) { return BooleanClauseOccur.MUST_NOT; }/*ww w . j a v a2 s . c o m*/ return BooleanClauseOccur.SHOULD; }