Управление индексами

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

Управление индексами в Elasticsearch охватывает полный жизненный цикл индекса: создание, настройку параметров, определение маппинга, мониторинг, переиндексирование и удаление. Администраторы создают индексы явно через PUT /<index> с телом, содержащим настройки и маппинги, или позволяют шаблонам индексов создавать их автоматически при первом индексировании документа с совпадающим именем. Ключевые настройки индекса, влияющие на производительность и долговечность: number_of_shards (задаётся при создании, неизменяем), number_of_replicas (регулируется во время работы через PUT /<index>/_settings) и refresh_interval (управляет скоростью появления новых документов в поиске). Elasticsearch предоставляет API _cat/indices (GET /_cat/indices?v) для быстрого обзора всех индексов с отображением их состояния, количества документов, размера и числа шардов в удобочитаемом виде. Для текущих операций управления индексами — таких как подготовка на основе шаблонов, назначение политик ILM и работа с псевдонимами — Kibana's Index Management UI в Stack Management предоставляет исчерпывающий графический интерфейс, работающий поверх тех же API Elasticsearch.

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

Управление индексами: 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.

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

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

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

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