Запрос префикса
Возвращает документы, содержащие определенный префикс в указанном поле.
Пример запроса
Следующий поиск возвращает документы, где поле user.id содержит термин, начинающийся с ki.
GET /_search
{
"query": {
"prefix": {
"user.id": {
"value": "ki"
}
}
}
} Параметры верхнего уровня для prefix
-
<field> - (Обязательно, объект) Поле, которое вы хотите искать.
Параметры для <field>
-
value - (Обязательно, строка) Начальные символы терминов, которые вы хотите найти в указанном поле
<field>. -
rewrite - (Необязательно, строка) Метод, используемый для переписывания запроса. Для допустимых значений и дополнительной информации см. параметр
rewrite. -
case_insensitive[7.10.0] Добавлен в 7.10.0. - (Необязательно, булево значение) Разрешает нечувствительное к регистру сопоставление значения с значениями индексированных полей, если установлено в значение true. По умолчанию значение false, что означает, что чувствительность сопоставления зависит от сопоставления базового поля.
Примечания
Пример краткого запроса
Вы можете упростить синтаксис запроса prefix, объединив параметры <field> и value. Например:
GET /_search
{
"query": {
"prefix" : { "user" : "ki" }
}
} Ускорение запросов префикса
Вы можете ускорить запросы префикса, используя параметр сопоставления index_prefixes. Если он включен, Elasticsearch индексирует префиксы в отдельном поле, в соответствии с настройками конфигурации. Это позволяет Elasticsearch выполнять запросы префикса более эффективно за счет увеличения размера индекса.
Разрешение ресурсоемких запросов
Запросы префикса не будут выполнены, если search.allow_expensive_queries установлено в значение false. Однако, если index_prefixes включены, создается оптимизированный запрос, который не считается медленным и будет выполнен, несмотря на данную настройку.
© 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-prefix-query.html