Refine search
BooleanQuery booleanQuery = new BooleanQuery(); TermQuery userQuery = new TermQuery(new Term("user_id", u.getId()+"")); BooleanQuery innerBooleanQuery = new BooleanQuery(); innerBooleanQuery.add(new BooleanClause(name_query, Occur.SHOULD)); innerBooleanQuery.add(new BooleanClause(desc_query, Occur.SHOULD)); booleanQuery.add(new BooleanClause(userQuery , Occur.MUST)); booleanQuery.add(new BooleanClause(innerBooleanQuery, Occur.MUST));
private BooleanQuery buildLineageQuery(final Collection<String> flowFileUuids) { // Create a query for all Events related to the FlowFiles of interest. We do this by adding all ID's as // "SHOULD" clauses and then setting the minimum required to 1. final BooleanQuery lineageQuery; if (flowFileUuids == null || flowFileUuids.isEmpty()) { lineageQuery = null; } else { lineageQuery = new BooleanQuery(); for (final String flowFileUuid : flowFileUuids) { lineageQuery.add(new TermQuery(new Term(SearchableFields.FlowFileUUID.getSearchableFieldName(), flowFileUuid)), Occur.SHOULD); } lineageQuery.setMinimumNumberShouldMatch(1); } return lineageQuery; }
TermQuery tq= new TermQuery(new Term("url", url)); // BooleanClauses Enum SHOULD says Use this operator for clauses that should appear in the matching documents. BooleanQuery bq = new BooleanQuery().add(tq,BooleanClause.Occur.SHOULD); IndexSearcher searcher = new IndexSearcher(index, true); TopScoreDocCollector collector = TopScoreDocCollector.create(10, true); searcher.search(query, collector);
flowFileIdQuery = null; } else { flowFileIdQuery = new BooleanQuery(); for (final String flowFileUuid : flowFileUuids) { flowFileIdQuery.add(new TermQuery(new Term(SearchableFields.FlowFileUUID.getSearchableFieldName(), flowFileUuid)), Occur.SHOULD);
@Factory public Filter getFilter() { BooleanQuery query = new BooleanQuery(); if (includeTerms.isEmpty()) { query.add(new MatchAllDocsQuery(), Occur.MUST); } else { for (Set<Term> terms : includeTerms) { if (terms.size() == 1) { query.add(new TermQuery(terms.iterator().next()), Occur.MUST); } else if (terms.size() > 1) { BooleanQuery subquery = new BooleanQuery(); for (Term term : terms) { subquery.add(new TermQuery(term), Occur.SHOULD); } query.add(subquery, Occur.MUST); } } } for (Term term : excludeTerms) { query.add(new TermQuery(term), Occur.MUST_NOT); } return new CachingWrapperFilter(new QueryWrapperFilter(query)); } }
protected Query in(Operation<?> operation, QueryMetadata metadata, boolean ignoreCase) { Path<?> path = getPath(operation.getArg(0)); String field = toField(path); @SuppressWarnings("unchecked") //this is the expected type Constant<Collection<?>> expectedConstant = (Constant<Collection<?>>) operation.getArg(1); Collection<?> values = expectedConstant.getConstant(); BooleanQuery bq = new BooleanQuery(); if (Number.class.isAssignableFrom(path.getType())) { for (Object value : values) { TermQuery eq = new TermQuery(new Term(field, convertNumber((Number) value))); bq.add(eq, Occur.SHOULD); } } else { for (Object value : values) { String[] str = convert(path, value); bq.add(eq(field, str, ignoreCase), Occur.SHOULD); } } return bq; }
BooleanQuery query = new BooleanQuery(); query.add(new TermQuery("attributeId", 10), BooleanClause.Occur.MUST); query.add(new TermQuery("value", "Romance"), BooleanClause.Occur.MUST); // build "IN" clause BooleanQuery pidQuery = new BooleanQuery(); for( long productId : productIds ){ pidQuery.add(new TermQuery("productId", productId), BooleanClause.Occur.SHOULD); } query.add(pidQuery, BooleanClause.Occur.MUST); TopDocs docs = searcher.search(query, null, searchLimit);
protected Query in(Operation<?> operation, QueryMetadata metadata, boolean ignoreCase) { Path<?> path = getPath(operation.getArg(0)); String field = toField(path); @SuppressWarnings("unchecked") //This is the second argument type Constant<Collection<?>> collConstant = (Constant<Collection<?>>) operation.getArg(1); Collection<?> values = collConstant.getConstant(); BooleanQuery bq = new BooleanQuery(); if (Number.class.isAssignableFrom(path.getType())) { for (Object value : values) { TermQuery eq = new TermQuery(new Term(field, convertNumber((Number) value))); bq.add(eq, Occur.SHOULD); } } else { for (Object value : values) { String[] str = convert(path, value); bq.add(eq(field, str, ignoreCase), Occur.SHOULD); } } return bq; }
BooleanQuery query = new BooleanQuery(); query.add(new TermQuery("attributeId", 7), BooleanClause.Occur.MUST); query.add(new TermQuery("value", "hindi"), BooleanClause.Occur.MUST); TopDocs docs = searcher.search(query, null, searchLimit);
protected Query in(Operation<?> operation, QueryMetadata metadata, boolean ignoreCase) { Path<?> path = getPath(operation.getArg(0)); String field = toField(path); @SuppressWarnings("unchecked") // this is the expected type Constant<Collection<?>> expectedConstant = (Constant<Collection<?>>) operation .getArg(1); Collection<?> values = expectedConstant.getConstant(); BooleanQuery bq = new BooleanQuery(); if (Number.class.isAssignableFrom(path.getType())) { for (Object value : values) { TermQuery eq = new TermQuery(new Term(field, convertNumber((Number) value))); bq.add(eq, Occur.SHOULD); } } else { for (Object value : values) { String[] str = convert(path, value); bq.add(eq(field, str, ignoreCase), Occur.SHOULD); } } return bq; }