Составные запросы в Elasticsearch: повышающие (boosting) запросы

Возвращает документы, соответствующие положительному запросу, при этом снижая оценку релевантности документов, которые также соответствуют отрицательному запросу.

Вы можете использовать повышающий (boosting) запрос, чтобы понизить рейтинг определенных документов, не исключая их из результатов поиска.

GET /_search
{
  "query": {
    "boosting": {
      "positive": {
        "term": {
          "text": "apple"
        }
      },
      "negative": {
        "term": {
          "text": "pie tart fruit crumble tree"
        }
      },
      "negative_boost": 0.5
    }
  }
}

Верхнеуровневые параметры для boosting

positive

(Обязательный, объект запроса) Запрос, который вы хотите выполнить. Все возвращенные документы должны соответствовать этому запросу.

negative

(Обязательный, объект запроса) Запрос, используемый для уменьшения оценки релевантности совпадающих документов.

Если возвращенный документ соответствует positive запросу и этому запросу, запрос boosting вычисляет окончательную оценку релевантности для документа следующим образом:

  1. Возьмет исходную оценку релевантности из positive запроса.
  2. Умножает результат на значение negative_boost.

negative_boost

(Обязательный, float) Число с плавающей запятой от 0 до 1.0, используемое для уменьшения оценок релевантности документов, соответствующих negative запросу.


Читайте также:

Комментарии

Популярные сообщения из этого блога

Язык поисковых запросов в Graylog

Хэш-таблица: разрешение коллизий

Нормальные формы, пример нормализации в базе данных