java.lang.Object
org.elasticsearch.index.query.AbstractQueryBuilder<BoostingQueryBuilder>
org.elasticsearch.index.query.BoostingQueryBuilder
- All Implemented Interfaces:
NamedWriteable,VersionedNamedWriteable,Writeable,QueryBuilder,Rewriteable<QueryBuilder>,ToXContent,ToXContentObject
The BoostingQuery class can be used to effectively demote results that match a given query.
Unlike the "NOT" clause, this still selects documents that contain undesirable terms,
but reduces their overall score:
Query balancedQuery = new BoostingQuery(positiveQuery, negativeQuery, 0.01f); In this scenario the positiveQuery contains the mandatory, desirable criteria which is used to select all matching documents, and the negativeQuery contains the undesirable elements which are simply used to lessen the scores. Documents that match the negativeQuery have their score multiplied by the supplied "boost" parameter, so this should be less than 1 to achieve a demoting effect
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.elasticsearch.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.ParamsNested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V> -
Field Summary
FieldsFields inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
boost, BOOST_FIELD, DEFAULT_BOOST, NAME_FIELD, queryNameFields inherited from interface org.elasticsearch.index.query.Rewriteable
MAX_REWRITE_ROUNDSFields inherited from interface org.elasticsearch.xcontent.ToXContent
EMPTY, EMPTY_PARAMS -
Constructor Summary
ConstructorsConstructorDescriptionRead from a stream.BoostingQueryBuilder(QueryBuilder positiveQuery, QueryBuilder negativeQuery) Create a newBoostingQueryBuilder -
Method Summary
Modifier and TypeMethodDescriptionprotected booleandoEquals(BoostingQueryBuilder other) Indicates whether some otherQueryBuilderobject of the same type is "equal to" this one.protected intprotected QueryBuilderdoRewrite(QueryRewriteContext queryRewriteContext) protected org.apache.lucene.search.QuerydoToQuery(SearchExecutionContext context) protected voiddoWriteTo(StreamOutput out) protected voiddoXContent(XContentBuilder builder, ToXContent.Params params) protected voidextractInnerHitBuilders(Map<String, InnerHitContextBuilder> innerHits) For internal usage only! Extracts the inner hits from the query tree.static BoostingQueryBuilderfromXContent(XContentParser parser) The minimal version of the recipient this object can be sent to.Returns the name of the writeable objectfloatGet the negative boost factor.negativeBoost(float negativeBoost) Set the negative boost factor.Get the negative query for this boosting query.Get the positive query for this boosting query.Methods inherited from class org.elasticsearch.index.query.AbstractQueryBuilder
addValidationError, boost, boost, boostAndQueryNameToXContent, checkNegativeBoost, declareStandardFields, doCoordinatorRewrite, doIndexMetadataRewrite, doInnerHitsRewrite, doSearchRewrite, equals, getMaxNestedDepth, getName, hashCode, parseInnerQueryBuilder, parseTopLevelQuery, parseTopLevelQuery, printBoostAndQueryName, queryName, queryName, readQueries, requireValue, rewrite, setMaxNestedDepth, throwParsingExceptionOnMultipleFields, toQuery, toString, toXContent, writeQueries, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.elasticsearch.xcontent.ToXContentObject
isFragmentMethods inherited from interface org.elasticsearch.common.io.stream.VersionedNamedWriteable
supportsVersion
-
Field Details
-
NAME
- See Also:
-
-
Constructor Details
-
BoostingQueryBuilder
Create a newBoostingQueryBuilder- Parameters:
positiveQuery- the positive query for this boosting query.negativeQuery- the negative query for this boosting query.
-
BoostingQueryBuilder
Read from a stream.- Throws:
IOException
-
-
Method Details
-
doWriteTo
- Specified by:
doWriteToin classAbstractQueryBuilder<BoostingQueryBuilder>- Throws:
IOException
-
positiveQuery
Get the positive query for this boosting query. -
negativeQuery
Get the negative query for this boosting query. -
negativeBoost
Set the negative boost factor. -
negativeBoost
public float negativeBoost()Get the negative boost factor. -
doXContent
- Specified by:
doXContentin classAbstractQueryBuilder<BoostingQueryBuilder>- Throws:
IOException
-
fromXContent
- Throws:
IOException
-
getWriteableName
Description copied from interface:VersionedNamedWriteableReturns the name of the writeable object -
doToQuery
protected org.apache.lucene.search.Query doToQuery(SearchExecutionContext context) throws IOException - Specified by:
doToQueryin classAbstractQueryBuilder<BoostingQueryBuilder>- Throws:
IOException
-
doHashCode
protected int doHashCode()- Specified by:
doHashCodein classAbstractQueryBuilder<BoostingQueryBuilder>
-
doEquals
Description copied from class:AbstractQueryBuilderIndicates whether some otherQueryBuilderobject of the same type is "equal to" this one.- Specified by:
doEqualsin classAbstractQueryBuilder<BoostingQueryBuilder>
-
doRewrite
- Overrides:
doRewritein classAbstractQueryBuilder<BoostingQueryBuilder>- Throws:
IOException
-
extractInnerHitBuilders
Description copied from class:AbstractQueryBuilderFor 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:
extractInnerHitBuildersin classAbstractQueryBuilder<BoostingQueryBuilder>
-
getMinimalSupportedVersion
Description copied from interface:VersionedNamedWriteableThe minimal version of the recipient this object can be sent to. SeeVersionedNamedWriteable.supportsVersion(TransportVersion)for the default serialization check.
-