BooleanQuery.Builder builder = new BooleanQuery.Builder(); String pkey = Token.getKeyForClass(PatternsAnnotations.ProcessedTextAnnotation.class); for(String en2: en.getValue()){ if(!processedKey || !stopWords.contains(en2.toLowerCase())) builder.add(new BooleanClause(new TermQuery(new Term(en.getKey(), en2)), BooleanClause.Occur.MUST)); BooleanQuery query = builder.build();
static Query newCountNodeEntriesQuery( long nodeId, String[] propertyKeys, Value... propertyValues ) { BooleanQuery.Builder builder = new BooleanQuery.Builder(); builder.add( new TermQuery( newTermForChangeOrRemove( nodeId ) ), BooleanClause.Occur.MUST ); for ( int i = 0; i < propertyKeys.length; i++ ) { String propertyKey = propertyKeys[i]; Value value = propertyValues[i]; if ( value.valueGroup() == ValueGroup.TEXT ) { Query valueQuery = new ConstantScoreQuery( new TermQuery( new Term( propertyKey, value.asObject().toString() ) ) ); builder.add( valueQuery, BooleanClause.Occur.SHOULD ); } } return builder.build(); }
private Query includeOrphans( Query query ) { if ( orphans == null ) { return query; } return new BooleanQuery.Builder() .add( injectOrphans( query ), Occur.SHOULD ) .add( new TermQuery( new Term( ORPHANS_KEY, ORPHANS_VALUE ) ), Occur.SHOULD ) .build(); }
/** Return a query that matches all documents but those that match the given query. */ public static Query not(Query q) { return new BooleanQuery.Builder() .add(new MatchAllDocsQuery(), Occur.MUST) .add(q, Occur.MUST_NOT) .build(); }
private Query createSelectionGroupQuery(FacetSelectionImpl selection) { BooleanQuery.Builder boolQueryBuilder = new BooleanQuery.Builder(); for ( Facet facet : selection.getFacetList() ) { boolQueryBuilder.add( facet.getFacetQuery(), selection.getOccurType() ); } return boolQueryBuilder.build(); }
private double calculateLogPrior(Term term) throws IOException { TermQuery termQuery = new TermQuery(term); BooleanQuery.Builder bq = new BooleanQuery.Builder(); bq.add(termQuery, BooleanClause.Occur.MUST); if (query != null) { bq.add(query, BooleanClause.Occur.MUST); } TopDocs topDocs = indexSearcher.search(bq.build(), 1); return topDocs.totalHits > 0 ? Math.log(topDocs.getMaxScore()) : 0; }
private static BiFunction<Query, Version, Result> spanOrQuery() { return (query, version) -> { SpanOrQuery spanOrQuery = (SpanOrQuery) query; // handle it like a boolean query to not dulplicate eg. logic // about duplicated terms BooleanQuery.Builder builder = new BooleanQuery.Builder(); for (SpanQuery clause : spanOrQuery.getClauses()) { builder.add(clause, Occur.SHOULD); } return booleanQuery().apply(builder.build(), version); }; }
@Factory public Filter getFilter() { BooleanQuery query = new BooleanQuery.Builder() .add(new TermQuery(new Term("blurb", blurbText)), BooleanClause.Occur.FILTER) .build(); return new QueryWrapperFilter(new CachingWrapperQuery(query)); } }
public static Query searchByName(String name) { return new BooleanQuery.Builder() .add(new TermQuery( new Term(SEntity.IDX_NAME, name.toLowerCase())), BooleanClause.Occur.MUST).build(); } }
public Query getChildrenFilter() { BooleanQuery.Builder builder = new BooleanQuery.Builder(); for (String child : children) { builder.add(getChildFilter(child), BooleanClause.Occur.SHOULD); } return new ConstantScoreQuery(builder.build()); }
private void buildFacetQueries(final LinkedHashMap<String, AbstractQuery> queries, final FacetBuilder facetBuilder) throws Exception { final BiConsumerEx<String, AbstractQuery, Exception> consumer = (name, facetQuery) -> { final BooleanQuery.Builder builder = new BooleanQuery.Builder(); builder.add(searchQuery, BooleanClause.Occur.FILTER); builder.add(facetQuery.getQuery(queryContext), BooleanClause.Occur.FILTER); facetBuilder.put(new LabelAndValue(name, queryContext.indexSearcher.count(builder.build()))); }; ConcurrentUtils.forEachEx(queries, consumer); }
@Override public Query termsQuery(List values, @Nullable QueryShardContext context) { BytesRef[] ids = new BytesRef[values.size()]; for (int i = 0; i < ids.length; i++) { ids[i] = BytesRefs.toBytesRef(values.get(i)); } BooleanQuery.Builder query = new BooleanQuery.Builder(); query.add(new DocValuesTermsQuery(name(), ids), BooleanClause.Occur.MUST); query.add(new TermQuery(new Term(TypeFieldMapper.NAME, documentType)), BooleanClause.Occur.FILTER); return query.build(); }
private UnaryOperator<Query> addUriPredicate(String subjectUri) { return (Query textQuery) -> { String uriField = docDef.getEntityField(); return new BooleanQuery.Builder() .add(textQuery, BooleanClause.Occur.MUST) .add(new TermQuery(new Term(uriField, subjectUri)), BooleanClause.Occur.FILTER) .build(); }; }
public static Query newNonNestedFilter() { // TODO: this is slow, make it a positive query return new BooleanQuery.Builder() .add(new MatchAllDocsQuery(), Occur.FILTER) .add(newNestedFilter(), Occur.MUST_NOT) .build(); }
/** * @deprecated review all use of this, don't rely on coord */ @Deprecated protected Query getBooleanQueryCoordDisabled(List<BooleanClause> clauses) throws ParseException { BooleanQuery.Builder builder = new BooleanQuery.Builder(); builder.setDisableCoord(true); for (BooleanClause clause : clauses) { builder.add(clause); } return fixNegativeQueryIfNeeded(builder.build()); }
private BooleanQuery getBooleanQuery() { BooleanQuery.Builder bq = new BooleanQuery.Builder(); if (baseQuery != null) { bq.add(baseQuery, Occur.MUST); } for (BooleanQuery.Builder builder : dimQueries) { bq.add(builder.build(), Occur.FILTER); } return bq.build(); }
@Override public Query rewrite(Query[] subQueries) { BooleanQuery.Builder merged = new BooleanQuery.Builder(); merged.setDisableCoord(true); for (Query query : subQueries) { merged.add(query, Occur.SHOULD); } return merged.build(); } };
@Test public void testBooleanQuery() { BooleanQuery.Builder booleanQueryBuilder = new BooleanQuery.Builder(); TermQuery termQuery = new TermQuery( new Term( "stringField", "foobar" ) ); booleanQueryBuilder.add( termQuery, BooleanClause.Occur.MUST ); NumericRangeQuery numericRangeQuery = NumericRangeQuery.newIntRange( "intField", 0, 0, true, true ); booleanQueryBuilder.add( numericRangeQuery, BooleanClause.Occur.SHOULD ); BooleanQuery booleanQuery = booleanQueryBuilder.build(); assertFieldNames( booleanQuery, FieldType.NUMBER, "intField" ); assertFieldNames( booleanQuery, FieldType.STRING, "stringField" ); }
private BooleanQuery createQuery() { return new BooleanQuery.Builder() .add( new TermQuery( new Term( "teacher", "andre" ) ), BooleanClause.Occur.SHOULD ) .add( new TermQuery( new Term( "teacher", "max" ) ), BooleanClause.Occur.SHOULD ) .add( new TermQuery( new Term( "teacher", "aaron" ) ), BooleanClause.Occur.SHOULD ) .build(); } }
protected BooleanQuery createLuceneQuery() throws ParseException { return new BooleanQuery.Builder() .add(queryParser.parse("blurb1?"), Occur.SHOULD) .build(); } }