Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Query DSL ›Span запросы

Запрос Span multi-term

Запрос span_multi позволяет обернуть multi term query (один из запросов wildcard, fuzzy, prefix, range или regexp) в качестве span query, чтобы его можно было вложить. Пример:

GET /_search
{
  "query": {
    "span_multi": {
      "match": {
        "prefix": { "user.id": { "value": "ki" } }
      }
    }
  }
}

К запросу также можно присвоить boost:

GET /_search
{
  "query": {
    "span_multi": {
      "match": {
        "prefix": { "user.id": { "value": "ki", "boost": 1.08 } }
      }
    }
  }
}

Запросы span_multi могут вызвать ошибку "слишком много предложений", если количество терминов, которые соответствуют запросу, превышает ограничение запроса boolean (по умолчанию 1024). Чтобы избежать неограниченного расширения, можно установить метод переписывания запроса multi-term на top_terms_* переписывание. Или, если вы используете span_multi только для запроса prefix, можно активировать опцию поля index_prefixes поля text. Это перепишет любой запрос prefix на поле в одиночный терм-запрос, который соответствует индексированному префиксу.

© 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-span-multi-term-query.html

Spec-Zone.ru

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