The boosting query runs a positive query to find relevant documents, then reduces scores of documents matching a negative query by a boost factor, returning adjusted results.
This query finds documents with 'apple' in the title but lowers scores for those also containing 'fruit' by half.
Execution Table
Step
Action
Query Part
Documents Matched
Score Effect
1
Run positive query
match title: apple
Doc1, Doc2, Doc3
Base scores assigned
2
Run negative query
match title: fruit
Doc2, Doc4
Identify docs to reduce score
3
Apply negative boost
negative_boost: 0.5
Doc2
Score of Doc2 multiplied by 0.5
4
Combine scores
boosting query
Doc1, Doc2, Doc3
Doc1 and Doc3 keep base score; Doc2 score reduced
5
Return results
final output
Doc1, Doc2, Doc3
Sorted by adjusted scores
6
End
-
-
Execution complete
💡 All documents matching positive query processed; negative boost applied to overlapping docs; results returned.
Variable Tracker
Variable
Start
After Step 1
After Step 2
After Step 3
Final
positive_docs
[]
[Doc1, Doc2, Doc3]
[Doc1, Doc2, Doc3]
[Doc1, Doc2, Doc3]
[Doc1, Doc2, Doc3]
negative_docs
[]
[]
[Doc2, Doc4]
[Doc2, Doc4]
[Doc2, Doc4]
scores
{}
{Doc1:1.0, Doc2:1.0, Doc3:1.0}
{Doc1:1.0, Doc2:1.0, Doc3:1.0}
{Doc1:1.0, Doc2:0.5, Doc3:1.0}
{Doc1:1.0, Doc2:0.5, Doc3:1.0}
Key Moments - 3 Insights
Why does Doc2's score get reduced but Doc4 is not in the final results?
Doc2 matches both positive and negative queries, so its score is reduced by the negative boost (see execution_table step 3). Doc4 only matches the negative query, so it is excluded because it doesn't match the positive query (step 1).
What happens if the negative_boost is set to 1?
If negative_boost is 1, scores of documents matching the negative query are multiplied by 1, so their scores stay the same (no reduction). This means the boosting query behaves like a normal positive query without score reduction (refer to execution_table step 3).
Can documents not matching the positive query appear in results?
No, only documents matching the positive query are considered for results. Negative query only reduces scores of these documents if they also match the negative query (see execution_table steps 1 and 4).
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the score of Doc2 after applying the negative boost?
A1.0
B0.0
C0.5
D2.0
💡 Hint
Check execution_table row 3 where negative boost is applied to Doc2's score.
At which step does the query exclude documents that do not match the positive query?
AStep 1
BStep 4
CStep 2
DStep 5
💡 Hint
Look at execution_table step 1 where positive query matches documents.
If negative_boost was set to 0, what would happen to the scores of documents matching the negative query?
AScores would be doubled
BScores would be zeroed out
CScores would be unchanged
DDocuments would be removed
💡 Hint
Negative boost multiplies scores; 0 means scores become zero (see execution_table step 3 logic).
A boosting query in Elasticsearch runs two queries: a positive query to find relevant documents and a negative query to identify documents whose scores should be reduced. The negative_boost factor multiplies the scores of documents matching the negative query, lowering their rank. Documents not matching the positive query are excluded. This process helps prioritize documents matching the positive query but penalizes those also matching the negative query. The execution table shows step-by-step how documents are matched and scores adjusted. The variable tracker follows the sets of documents and their scores through each step. Key moments clarify common confusions about which documents appear and how scores change. The visual quiz tests understanding of score changes and query behavior. The concept snapshot summarizes the syntax and main behavior of the boosting query.