Соотношение эластичного поиска
Мой поисковый запрос работает нормально (я надеюсь), но иногда у меня слишком много результатов с оценкой 1,5, 0,7, 0,6... или 0,1, 0,001, 0,001... Можно ли заблокировать результаты с низкой релевантностью? Фиксированное значение не подходит, потому что оно зависит от максимального _score (оценка наиболее значимого результата). Это должно работать как "заблокировать все результаты, у которых _score вдвое меньше максимального _score (оценка наиболее релевантного результата)"
{
"query": {
"bool": {
"disable_coord": true,
"must": [
{ "match": {
"ObjectTypeSysName": {
"query": "participant"
}
}
},
{ "match": {
"_all": {
"query": "text-to-find",
"operator": "and",
"fuzziness": "AUTO",
"minimum_should_match": 1
}
}}
],
"should": [
{ "multi_match" : {
"query": "text-to-find",
"type": "best_fields",
"fields": [
"*NAME",
"ObjectData.EXTERNALID",
"ObjectData.contactList.VALUE",
"*SERIES",
"*NUMBER"
],
"operator": "or",
"boost": 2
}}
]
}
}
}