Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Картирование

Настройки лимитов карты

Используйте следующие настройки, чтобы ограничить количество полей карты (созданных вручную или динамически) и предотвратить взрыв карты документов:

index.mapping.total_fields.limit

Максимальное количество полей в индексе. Поля и объектные карты, а также псевдонимы полей учитываются в этом лимите. Также в этот лимит включены сопоставленные поля runtime. Значение по умолчанию — 1000.

Предел установлен, чтобы предотвратить чрезмерное увеличение карт и запросов поиска. Более высокие значения могут привести к ухудшению производительности и проблемам с памятью, особенно в кластерах с высокой нагрузкой или небольшим объемом ресурсов.

Если вы увеличиваете эту настройку, рекомендуется также увеличить настройку indices.query.bool.max_clause_count, которая ограничивает максимальное количество пунктов в запросе.

Если ваши сопоставления полей содержат большой произвольный набор ключей, рассмотрите использование типа данных flattened или установку настройки индекса index.mapping.total_fields.ignore_dynamic_beyond_limit в значение true.

index.mapping.total_fields.ignore_dynamic_beyond_limit
Эта настройка определяет, что происходит, когда динамически сопоставленное поле превышает предел общего количества полей. При значении false (по умолчанию) запрос индекса документа, пытающегося добавить динамическое поле в карту, завершается ошибкой с сообщением Limit of total fields [X] has been exceeded. При значении true запрос индекса не завершается ошибкой. Вместо этого поля, которые превышают предел, не добавляются в карту, аналогично dynamic: false. Поля, которые не были добавлены в карту, будут добавлены в поле _ignored. Значение по умолчанию — false.
index.mapping.depth.limit
Максимальная глубина поля, которая измеряется как количество вложенных объектов. Например, если все поля определены на уровне корневого объекта, то глубина равна 1. Если есть одна карта объектов, глубина равна 2 и т. д. Значение по умолчанию — 20.
index.mapping.nested_fields.limit
Максимальное количество уникальных nested сопоставлений в индексе. Тип nested следует использовать только в особых случаях, когда массивы объектов необходимо запрашивать независимо друг от друга. Для защиты от плохо спроектированных карт эта настройка ограничивает количество уникальных типов nested в индексе. Значение по умолчанию — 50.
index.mapping.nested_objects.limit
Максимальное количество вложенных JSON-объектов, которые один документ может содержать по всем nested типам. Этот предел помогает предотвратить ошибки недостатка памяти, когда документ содержит слишком много вложенных объектов. Значение по умолчанию — 10000.
index.mapping.field_name_length.limit
Настройка максимальной длины имени поля. Эта настройка не предназначена для решения проблем со взрывом карт, но может быть полезна, если вы хотите ограничить длину поля. Обычно устанавливать эту настройку не нужно. Значение по умолчанию подходит, если пользователь не начинает добавлять большое количество полей с очень длинными именами. Значение по умолчанию — Long.MAX_VALUE (без ограничения).
index.mapping.dimension_fields.limit
(Динамический, целое число) Максимальное количество измерений временных рядов для индекса. По умолчанию — 32768.

© 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/mapping-settings-limit.html

Spec-Zone.ru

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