Package org.elasticsearch.index.query
Class BoolQueryBuilder
java.lang.Object
org.elasticsearch.index.query.AbstractQueryBuilder<BoolQueryBuilder>
org.elasticsearch.index.query.BoolQueryBuilder
- All Implemented Interfaces:
NamedWriteable
,Writeable
,org.elasticsearch.common.xcontent.ToXContent
,org.elasticsearch.common.xcontent.ToXContentObject
,QueryBuilder
,Rewriteable<QueryBuilder>
A Query that matches documents matching boolean combinations of other queries.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.Params
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
Field Summary
Fields inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
boost, BOOST_FIELD, DEFAULT_BOOST, NAME_FIELD, queryName
Fields inherited from interface org.elasticsearch.index.query.Rewriteable
MAX_REWRITE_ROUNDS
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
Constructor Summary
ConstructorDescriptionBuild an empty bool query.Read from a stream. -
Method Summary
Modifier and TypeMethodDescriptionboolean
adjustPureNegative(boolean adjustPureNegative)
If a boolean query contains only negative ("must not") clauses should the BooleanQuery be enhanced with aMatchAllDocsQuery
in order to act as a pure exclude.protected boolean
doEquals(BoolQueryBuilder other)
Indicates whether some otherQueryBuilder
object of the same type is "equal to" this one.protected int
protected QueryBuilder
doRewrite(QueryRewriteContext queryRewriteContext)
protected org.apache.lucene.search.Query
doToQuery(SearchExecutionContext context)
protected void
doWriteTo(StreamOutput out)
protected void
doXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)
protected void
extractInnerHitBuilders(Map<String,InnerHitContextBuilder> innerHits)
For internal usage only! Extracts the inner hits from the query tree.filter()
Gets the queries that must appear in the matching documents but don't contribute to scoringfilter(QueryBuilder queryBuilder)
Adds a query that must appear in the matching documents but will not contribute to scoring.static BoolQueryBuilder
fromXContent(org.elasticsearch.common.xcontent.XContentParser parser, Integer nestedDepth)
Returns the name of the writeable objectboolean
Returnstrue
iff this query builder has at least one should, must, must not or filter clause.minimumShouldMatch(int minimumShouldMatch)
Specifies a minimum number of the optional (should) boolean clauses which must be satisfied.minimumShouldMatch(String minimumShouldMatch)
Sets the minimum should match parameter using the special syntax (for example, supporting percentage).must()
Gets the queries that must appear in the matching documents.must(QueryBuilder queryBuilder)
Adds a query that must appear in the matching documents and will contribute to scoring.mustNot()
Gets the queries that must not appear in the matching documents.mustNot(QueryBuilder queryBuilder)
Adds a query that must not appear in the matching documents.static void
setMaxNestedDepth(int maxNestedDepth)
Set the maximum nested depth of bool queries.should()
Gets the list of clauses that should be matched by the returned documents.should(QueryBuilder queryBuilder)
Adds a clause that should be matched by the returned documents.Methods inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
addValidationError, boost, boost, checkNegativeBoost, declareStandardFields, equals, getName, hashCode, parseInnerQueryBuilder, parseInnerQueryBuilder, printBoostAndQueryName, queryName, queryName, requireValue, rewrite, throwParsingExceptionOnMultipleFields, toQuery, toString, toXContent, writeTo
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentObject
isFragment
-
Field Details
-
NAME
- See Also:
- Constant Field Values
-
ADJUST_PURE_NEGATIVE_DEFAULT
public static final boolean ADJUST_PURE_NEGATIVE_DEFAULT- See Also:
- Constant Field Values
-
-
Constructor Details
-
BoolQueryBuilder
public BoolQueryBuilder()Build an empty bool query. -
BoolQueryBuilder
Read from a stream.- Throws:
IOException
-
-
Method Details
-
setMaxNestedDepth
public static void setMaxNestedDepth(int maxNestedDepth)Set the maximum nested depth of bool queries. Default value is 20. -
doWriteTo
- Specified by:
doWriteTo
in classAbstractQueryBuilder<BoolQueryBuilder>
- Throws:
IOException
-
must
Adds a query that must appear in the matching documents and will contribute to scoring. Nonull
value allowed. -
must
Gets the queries that must appear in the matching documents. -
filter
Adds a query that must appear in the matching documents but will not contribute to scoring. Nonull
value allowed. -
filter
Gets the queries that must appear in the matching documents but don't contribute to scoring -
mustNot
Adds a query that must not appear in the matching documents. Nonull
value allowed. -
mustNot
Gets the queries that must not appear in the matching documents. -
should
Adds a clause that should be matched by the returned documents. For a boolean query with noMUST
clauses one or moreSHOULD
clauses must match a document for the BooleanQuery to match. Nonull
value allowed.- See Also:
minimumShouldMatch(int)
-
should
Gets the list of clauses that should be matched by the returned documents.- See Also:
should(QueryBuilder)
,minimumShouldMatch(int)
-
minimumShouldMatch
- Returns:
- the string representation of the minimumShouldMatch settings for this query
-
minimumShouldMatch
Sets the minimum should match parameter using the special syntax (for example, supporting percentage).- See Also:
minimumShouldMatch(int)
-
minimumShouldMatch
Specifies a minimum number of the optional (should) boolean clauses which must be satisfied.By default no optional clauses are necessary for a match (unless there are no required clauses). If this method is used, then the specified number of clauses is required.
Use of this method is totally independent of specifying that any specific clauses are required (or prohibited). This number will only be compared against the number of matching optional clauses.
- Parameters:
minimumShouldMatch
- the number of optional clauses that must match
-
hasClauses
public boolean hasClauses()Returnstrue
iff this query builder has at least one should, must, must not or filter clause. Otherwisefalse
. -
adjustPureNegative
If a boolean query contains only negative ("must not") clauses should the BooleanQuery be enhanced with aMatchAllDocsQuery
in order to act as a pure exclude. The default istrue
. -
adjustPureNegative
public boolean adjustPureNegative()- Returns:
- the setting for the adjust_pure_negative setting in this query
-
doXContent
protected void doXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws IOException- Specified by:
doXContent
in classAbstractQueryBuilder<BoolQueryBuilder>
- Throws:
IOException
-
fromXContent
public static BoolQueryBuilder fromXContent(org.elasticsearch.common.xcontent.XContentParser parser, Integer nestedDepth) throws IOException, ParsingException- Throws:
IOException
ParsingException
-
getWriteableName
Description copied from interface:NamedWriteable
Returns the name of the writeable object -
doToQuery
protected org.apache.lucene.search.Query doToQuery(SearchExecutionContext context) throws IOException- Specified by:
doToQuery
in classAbstractQueryBuilder<BoolQueryBuilder>
- Throws:
IOException
-
doHashCode
protected int doHashCode()- Specified by:
doHashCode
in classAbstractQueryBuilder<BoolQueryBuilder>
-
doEquals
Description copied from class:AbstractQueryBuilder
Indicates whether some otherQueryBuilder
object of the same type is "equal to" this one.- Specified by:
doEquals
in classAbstractQueryBuilder<BoolQueryBuilder>
-
doRewrite
- Overrides:
doRewrite
in classAbstractQueryBuilder<BoolQueryBuilder>
- Throws:
IOException
-
extractInnerHitBuilders
Description copied from class:AbstractQueryBuilder
For internal usage only! Extracts the inner hits from the query tree. While it extracts inner hits, child inner hits are inlined into the inner hit builder they belong to.- Overrides:
extractInnerHitBuilders
in classAbstractQueryBuilder<BoolQueryBuilder>
-