ES query_string различный буст для значений - PullRequest
0 голосов
/ 16 мая 2018

В обычном запросе ES я делаю, например: (в query.bool.should ...)

{
   "term": {
     "processedText": {
     "boost": 1.9599999999999997,
     "value": "some_value"
   }
 }
 },
{
 "term": {
    "processedText": {
    "boost": 3.4489795918367347,
     "value": "other_value"

Так как вы видите различные значения усиления от разных значений, для которых я запрашиваю.Как я могу сделать то же самое, используя query_string?

 "query_string": {
            "query": "(something AND test) OR (foo OR bar OR nothing) NOT (abc OR xyz)",
            "default_field": "text"
          }

1 Ответ

0 голосов
/ 16 мая 2018

См. параграф «Повышение» в документе Query-String-Query :

Используйте оператор повышения ^, чтобы сделать один термин более релевантным, чем другой.... Усиления также можно применять к фразам или группам.

Пример:

"query_string": {
    "query": "(something AND test)^5 OR (foo^2 OR bar^1.5 OR nothing) NOT (abc OR xyz)",
    "default_field": "text"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...