forked from elastic/elasticsearch
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[DOCS] Rewrite boosting query (elastic#43647)
- Loading branch information
Showing
1 changed file
with
38 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,60 @@ | ||
[[query-dsl-boosting-query]] | ||
=== Boosting Query | ||
|
||
The `boosting` query can be used to effectively demote results that | ||
match a given query. Unlike the "NOT" clause in bool query, this still | ||
selects documents that contain undesirable terms, but reduces their | ||
overall score. | ||
Returns documents matching a `positive` query while reducing the | ||
<<query-filter-context, relevance score>> of documents that also match a | ||
`negative` query. | ||
|
||
It accepts a `positive` query and a `negative` query. | ||
Only documents that match the `positive` query will be included | ||
in the results list, but documents that also match the `negative` query | ||
will be downgraded by multiplying the original `_score` of the document | ||
with the `negative_boost`. | ||
You can use the `boosting` query to demote certain documents without | ||
excluding them from the search results. | ||
|
||
[[boosting-query-ex-request]] | ||
==== Example request | ||
|
||
[source,js] | ||
-------------------------------------------------- | ||
---- | ||
GET /_search | ||
{ | ||
"query": { | ||
"boosting" : { | ||
"positive" : { | ||
"term" : { | ||
"field1" : "value1" | ||
"text" : "apple" | ||
} | ||
}, | ||
"negative" : { | ||
"term" : { | ||
"field2" : "value2" | ||
"text" : "pie tart fruit crumble tree" | ||
} | ||
}, | ||
"negative_boost" : 0.2 | ||
"negative_boost" : 0.5 | ||
} | ||
} | ||
} | ||
-------------------------------------------------- | ||
---- | ||
// CONSOLE | ||
|
||
[[boosting-top-level-params]] | ||
==== Top-level parameters for `boosting` | ||
|
||
`positive` (Required):: | ||
Query you wish to run. Any returned documents must match this query. | ||
|
||
`negative` (Required):: | ||
+ | ||
-- | ||
Query used to decrease the <<query-filter-context, relevance score>> of matching | ||
documents. | ||
|
||
If a returned document matches the `positive` query and this query, the | ||
`boosting` query calculates the final <<query-filter-context, relevance score>> | ||
for the document as follows: | ||
|
||
. Take the original relevance score from the `positive` query. | ||
. Multiply the score by the `negative_boost` value. | ||
-- | ||
|
||
`negative_boost` (Required):: | ||
Floating point number between `0` and `1.0` used to decrease the | ||
<<query-filter-context, relevance scores>> of documents matching the `negative` | ||
query. |