Настройки поиска
Следующие настройки экспертного уровня можно задать для управления глобальными ограничениями поиска и агрегации.
-
indices.query.bool.max_clause_count -
[8.0.0] Устарело в 8.0.0. (Статическое, целое число) Эта устаревшая настройка не имеет эффекта.
Elasticsearch теперь динамически устанавливает максимальное количество разрешенных предложений в запросе, используя эвристику, основанную на размере пула потоков поиска и размере кучи, выделенной JVM. Это ограничение имеет минимальное значение 1024 и в большинстве случаев будет больше (например, у узла с 30 ГБ ОЗУ и 48 ЦП будет максимальное количество предложений около 27 000). Более крупные кучи приводят к более высоким значениям, а более крупные пулы потоков — к более низким значениям.
Запросы с большим количеством предложений следует избегать по возможности. Если вы ранее увеличивали эту настройку для обработки сложных запросов, вам может потребоваться увеличить объем памяти, доступный Elasticsearch, или уменьшить размер пула потоков поиска, чтобы в распоряжении каждого одновременного поиска было больше памяти.
В предыдущих версиях Lucene можно было обойти это ограничение, вложенные логические запросы друг в друга, но теперь ограничение основано на общем количестве листовых запросов в запросе в целом, и этот обходной путь больше не поможет.
-
search.max_buckets -
(Динамическое, целое число) Максимальное количество корзин агрегации, разрешенных в одном ответе. По умолчанию 65 536.
Запросы, которые пытаются вернуть больше, чем это ограничение, вернут ошибку.
-
search.aggs.only_allowed_metric_scripts -
(Динамическое, логическое значение) Настраивает, могут ли использоваться только явно разрешенные скрипты в скриптовых агрегациях метрик. По умолчанию
false.Запросы, использующие скрипты, которые не содержатся ни в
search.aggs.allowed_inline_metric_scripts, ни вsearch.aggs.allowed_stored_metric_scripts, вернут ошибку.
-
search.aggs.allowed_inline_metric_scripts -
(Динамическое, список строк) Список встроенных скриптов, которые могут быть использованы в скриптовых агрегациях метрик, когда
search.aggs.only_allowed_metric_scriptsустановлено вtrue. По умолчанию пустой список.Запросы, использующие другие встроенные скрипты, вернут ошибку.
-
search.aggs.allowed_stored_metric_scripts -
(Динамическое, список строк) Список идентификаторов сохраненных скриптов, которые могут быть использованы в скриптовых агрегациях метрик, когда
search.aggs.only_allowed_metric_scriptsустановлено вtrue. По умолчанию пустой список.Запросы, использующие другие сохраненные скрипты, вернут ошибку.
-
indices.query.bool.max_nested_depth -
(Статическое, целое число) Максимальная вложенность запросов. По умолчанию
30.Эта настройка ограничивает глубину вложенности запросов. Глубокая вложенность запросов может привести к ошибкам переполнения стека.
© 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/8.17/search-settings.html