Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Руководство [7.17] ›Отображение ›Параметры отображения

boost

Отдельные поля могут быть усилены автоматически — в большей степени влиять на релевантность результата поиска — во время запроса с помощью параметра boost следующим образом:

PUT my-index-000001
{
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "boost": 2 
      },
      "content": {
        "type": "text"
      }
    }
  }
}

Совпадения по полю title будут иметь в два раза больший вес, чем совпадения по полю content, у которого значение по умолчанию boost равно 1.0.

Усиление применяется только для запросов по терминам (префиксные, диапазонные и нечеткие запросы не усиливаются).

Вы можете добиться того же эффекта, используя параметр boost непосредственно в запросе, например, следующий запрос (с усилением поля time):

POST _search
{
  "query": {
    "match": {
      "title": {
        "query": "quick brown fox"
      }
    }
  }
}

эквивалентен:

POST _search
{
  "query": {
    "match": {
      "title": {
        "query": "quick brown fox",
        "boost": 2
      }
    }
  }
}

Устарело начиная с версии 5.0.0.

Усиление на стадии индексирования устарело. Вместо этого усиление поля отображения применяется во время запроса. Для индексов, созданных до версии 5.0.0, усиление по-прежнему будет применяться на стадии индексирования.

Почему усиление на стадии индексирования — плохая идея

Мы не рекомендуем использовать усиление на стадии индексирования по следующим причинам:

  • Вы не можете изменить значения boost на стадии индексирования без повторной индексации всех документов.
  • Каждый запрос поддерживает усиление на стадии запроса, что достигает того же результата. Разница в том, что вы можете настраивать значение boost без необходимости повторной индексации.
  • Усиления на стадии индексирования хранятся как часть norm, что занимает всего один байт. Это снижает разрешение коэффициента нормализации длины поля, что может привести к снижению качества расчета релевантности.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/mapping-boost.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API