Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›Query DSL ›Запросы на уровне терминов

Запрос с подстановкой

Возвращает документы, содержащие термины, соответствующие шаблону подстановки.

Оператор подстановки — это заполнитель, который соответствует одному или нескольким символам. Например, оператор подстановки * соответствует нулю или более символам. Вы можете комбинировать операторы подстановки с другими символами, чтобы создать шаблон подстановки.

Пример запроса

Следующий запрос возвращает документы, в которых поле user.id содержит термин, начинающийся с ki и заканчивающийся на y. Соответствующие термины могут включать kiy, kity или kimchy.

GET /_search
{
  "query": {
    "wildcard": {
      "user.id": {
        "value": "ki*y",
        "boost": 1.0,
        "rewrite": "constant_score"
      }
    }
  }
}

Параметры верхнего уровня для wildcard

<field>
(Обязательно, объект) Поле, которое вы хотите найти.

Параметры для <field>

boost

(Необязательно, число с плавающей точкой) Число с плавающей точкой, используемое для уменьшения или увеличения рейтингов релевантности запроса. По умолчанию 1.0.

Вы можете использовать параметр boost для изменения рейтингов релевантности для запросов, содержащих два или более запросов.

Значения усиления относительны к значению по умолчанию 1.0. Значение усиления между 0 и 1.0 уменьшает рейтинг релевантности. Значение, большее чем 1.0, увеличивает рейтинг релевантности.

case_insensitive [7.10.0] Добавлен в 7.10.0.
(Необязательно, Булево) Позволяет выполнять сопоставление шаблона с индексированными значениями поля без учета регистра, если значение равно true. По умолчанию значение false, что означает, что чувствительность к регистру при сопоставлении зависит от сопоставления базового поля.
rewrite
(Необязательно, строка) Метод переопределения запроса. Для допустимых значений и дополнительной информации см. rewrite параметр.
value

(Обязательно, строка) Шаблон подстановки для терминов, которые вы хотите найти в предоставленном <field>.

Этот параметр поддерживает два оператора подстановки:

  • ?, который соответствует любому одиночному символу
  • *, который может соответствовать нулю или более символам, включая пустой

Избегайте начальных шаблонов с * или ?. Это может увеличить количество итераций, необходимых для поиска соответствующих терминов, и замедлить производительность поиска.

wildcard
(Обязательно, строка) Псевдоним для параметра value. Если вы укажете и value, и wildcard, запрос использует последний из них в теле запроса.

Примечания

Разрешить сложные запросы

Запросы с подстановкой не будут выполнены, если search.allow_expensive_queries установлено в значение false.

© 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-wildcard-query.html

Spec-Zone.ru

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