This repository was archived by the owner on Jun 5, 2024. It is now read-only.
Add minimum_should_match clause to or/nor filters to really filter by should clause
#18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If you use an
or/norfilter it would be applied without a specificminimum_should_matchvalue. This could lead into wrong results as it is not adding a reducing filter, just aor/northat doesn't affect the results.Example:
Consider the following final query:
{ "query": { "bool": { "filter": { "bool": { "must": [ { "terms": { "color": [ "blue" ] } } ], "should": [ { "terms": { "size": [ 11 ] } }, { "terms": { "is_in_sale": [ 1 ] } } ] } } } } }We wan't to load products that have the color "blue" and products that are "in sale" or have size "1"
– BUT without
minimum_should_matchwe just ask for a definitiv color and theshouldfilter must not be fulfilled asminimum_should_matchis0by default.