Язык запросов DSL
Elasticsearch предоставляет полностью язык запросов DSL (Domain Specific Language) на основе JSON для определения запросов. Представьте язык запросов DSL как AST (Abstract Syntax Tree) запросов, состоящий из двух типов узлов:
- Листовые узлы запросов
- Листовые узлы запросов ищут конкретное значение в конкретном поле, например, запросы
match,termилиrange. Эти запросы могут использоваться сами по себе. - Составные узлы запросов
- Составные узлы запросов оборачивают другие листовые или составные запросы и используются для логического объединения нескольких запросов (например,
boolилиdis_maxзапросов) или для изменения их поведения (например,constant_scoreзапрос).
Узлы запросов ведут себя по-разному в зависимости от того, используются ли они в контексте запроса или контексте фильтра.
- Разрешить дорогостоящие запросы
-
Некоторые типы запросов обычно выполняются медленно из-за способа их реализации, что может повлиять на стабильность кластера. Эти запросы можно разделить на следующие категории:
-
Запросы, которые требуют линейного сканирования для определения совпадений:
-
Запросы с высокой первоначальной стоимостью:
-
fuzzyзапросы (кроме полейwildcard) -
regexpзапросы (кроме полейwildcard) -
prefixзапросы (кроме полейwildcardили тех, у которых отсутствуютindex_prefixes) -
wildcardзапросы (кроме полейwildcard) -
rangeзапросы по полям типаtextиkeyword
-
- Объединение запросов
- Запросы по устаревшим гео-фигурам ###NON_TRANSLATABLE_24###
-
Запросы, которые могут иметь высокую стоимость на документ:
-
Выполнение таких запросов можно предотвратить, задав значение параметра search.allow_expensive_queries на false (по умолчанию true).
© 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.html