Index templates

Тема дорожной карты · Elasticsearch

Шаблоны индексов в Elasticsearch — это многократно используемые конфигурации, автоматически применяемые к новым индексам с именами, соответствующими заданному паттерну; они устраняют необходимость вручную указывать маппинги, настройки и псевдонимы при каждом создании нового индекса. В версии Elasticsearch 7.8 были введены компонуемые шаблоны индексов (управляемые через PUT /_index_template/<name>), пришедшие на смену устаревшему API шаблонов; компонуемые шаблоны позволяют объединять несколько компонентных шаблонов (PUT /_component_template/<name>), обеспечивая повторное использование маппингов и настроек по принципу DRY для множества паттернов индексов. Типичный шаблон индекса включает массив index_patterns (например, ["logs-*"]), блок template с settings (такими как number_of_shards и refresh_interval) и mappings, а также опциональную ссылку на политику ILM через settings.index.lifecycle. Шаблоны индексов фундаментальны для функции потоков данных в Elastic Stack: каждый поток данных обеспечивается последовательностью автоматически создаваемых индексов, наследующих всю конфигурацию из связанного шаблона индекса. Просмотреть установленные шаблоны индексов можно через GET /_index_template, а проверить, какой шаблон применился бы к конкретному имени индекса, — через POST /_index_template/_simulate_index/<index_name>.

Как это работает

Index templates: Index templates применяют settings + mappings к индексам, matching pattern (e.g., logs-*). ILM (Index Lifecycle Management) автоматизирует rollover, shrink, freeze, delete по age/size/doc count. Rollover API создаёт новый индекс при условиях (5 дней, 50GB, 100M docs). Aliases дают stable name, указывающий на один или много индексов — приложения query alias, ILM manage-ит backing-индексы. Reindex API копирует docs между индексами (для mapping changes + version migrations).

Когда применять

Для time-series (logs, metrics, events) ВСЕГДА используйте index templates + ILM + rollover — fixed-name индексы растут без границ. Write alias + read alias раздельно для безопасного rollover. Для mapping changes — reindex API; existing field mappings не меняются in place.

Типичные ошибки

Ловушки Index templates: fixed-name daily index без rollover (упираетесь в shard limits); нет ILM (старые индексы аккумулируются вечно); reindex без aliases (downtime при cutover); меняют mappings + ожидают "just works" (большинство type changes тихо игнорируются).

Связанные понятия

Полезные ресурсы

Проверить знания (1)

Загрузка вопросов…