How can you add boost to specific part of a should query. For example:
{
"query": {
"bool": {
"should": [
{"term":{"fruit.keyword":"apple"}},
{"term":{"fruit.keyword":"banana"}},
{"term":{"fruit.keyword":"orange"}},
],
"minimum_should_match": 2
}
}
}
If say I want to boost apple
by a factor of 2 — meaning apple is twice as important as banana or orange. Is there a way to do it? I tried to use compound bool with boost but it didn’t work (i.e. nesting a bool inside each should).
The docs suggest that I should be able to do it with query string:
{
"query": {
"query_string": {
"query": "fruit.keyword:apple^2 OR fruit.keyword:banana OR fruit.keyword:orange",
"minimum_should_match": 2
}
}
}
But I would ideally like to do it with bool
since it makes code more manageable. If it’s possible, how?
I’m using ES 6.8