Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Query DSL

параметр rewrite

Этот параметр предназначен только для опытных пользователей. Изменение значения этого параметра может повлиять на производительность поиска и релевантность результатов.

Elasticsearch использует Apache Lucene для индексации и поиска. В исходном виде Lucene не может выполнять следующие запросы:

  • fuzzy
  • prefix
  • query_string
  • regexp
  • wildcard

Для их выполнения Lucene преобразует эти запросы в более простой вид, например, в bool запрос или в набор битов.

Параметр rewrite определяет:

  • Как Lucene рассчитывает релевантность каждого соответствующего документа
  • Преобразует ли Lucene исходный запрос в запрос типа bool или набор битов
  • Если запрос преобразован в запрос типа bool, какие term клаузы запроса включены

Допустимые значения

constant_score (По умолчанию)
Использует метод constant_score_boolean для уменьшения количества совпадающих терминов. В противном случае этот метод находит все совпадающие термины последовательно и возвращает соответствующие документы с помощью набора битов.
constant_score_boolean

Присваивает каждому документу релевантность, равную значению параметра boost.

Этот метод преобразует исходный запрос в bool запрос. Этот bool запрос содержит клаузу should и term запрос для каждого совпадающего термина.

Этот метод может привести к превышению предела клауз в конечном bool запросе в настройке indices.query.bool.max_clause_count. Если запрос превышает этот предел, Elasticsearch вернёт ошибку.

scoring_boolean

Вычисляет релевантность каждого соответствующего документа.

Этот метод преобразует исходный запрос в bool запрос. Этот bool запрос содержит клаузу should и term запрос для каждого совпадающего термина.

Этот метод может привести к превышению предела клауз в конечном bool запросе в настройке indices.query.bool.max_clause_count. Если запрос превышает этот предел, Elasticsearch вернёт ошибку.

top_terms_blended_freqs_N

Вычисляет релевантность каждого соответствующего документа, как если бы все термины имели одинаковую частоту. Эта частота — максимальная частота всех совпадающих терминов.

Этот метод преобразует исходный запрос в bool запрос. Этот bool запрос содержит клаузу should и term запрос для каждого совпадающего термина.

Конечный bool запрос включает только term запросы для самых N высокорейтинговых терминов.

Вы можете использовать этот метод для избежания превышения лимита клауз в настройке indices.query.bool.max_clause_count.

top_terms_boost_N

Присваивает каждому соответствующему документу релевантность, равную значению параметра boost.

Этот метод преобразует исходный запрос в bool запрос. Этот bool запрос содержит клаузу should и term запрос для каждого совпадающего термина.

Конечный bool запрос включает только term запросы для самых N высокорейтинговых терминов.

Вы можете использовать этот метод для избежания превышения лимита клауз в настройке indices.query.bool.max_clause_count.

top_terms_N

Вычисляет релевантность каждого соответствующего документа.

Этот метод преобразует исходный запрос в bool запрос. Этот bool запрос содержит клаузу should и term запрос для каждого совпадающего термина.

Конечный bool запрос включает только term запросы для самых N высокорейтинговых терминов.

Вы можете использовать этот метод для избежания превышения лимита клауз в настройке indices.query.bool.max_clause_count.

Учёт производительности параметра rewrite

Для большинства случаев рекомендуется использовать методы переписывания constant_score, constant_score_boolean или top_terms_boost_N.

Другие методы рассчитывают релевантность. Такие вычисления часто ресурсоёмки и не улучшают результаты запроса.

© 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/query-dsl-multi-term-rewrite.html

Spec-Zone.ru

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