DBAtlas · Атлас эксплуатации баз данных

Сборка шаблона индекса из шаблонов-компонентов и симуляция результата

ElasticsearchЖизненный цикл индекса

Команда

PUT _component_template/app-mappings
{
  "template": {
    "mappings": {
      "dynamic": "strict",
      "properties": {
        "@timestamp": { "type": "date" },
        "level": { "type": "keyword" },
        "msg": { "type": "text" }
      }
    }
  }
}
PUT _index_template/app-events
{
  "index_patterns": ["app-events-*"],
  "priority": 500,
  "composed_of": ["app-mappings"],
  "template": { "settings": { "number_of_shards": 1, "refresh_interval": "5s" } }
}
# See the final settings and mapping before the index is created:
POST _index_template/_simulate_index/app-events-000001
GET _cat/templates?v&s=name

Что делает

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

Когда использовать

Когда новые индексы создаются с неверным маппингом или числом шардов (взрыв dynamic mapping, text вместо keyword), и перед выкаткой изменения шаблона.

Внимание

Шаблон применяется только к вновь создаваемым индексам; маппинг существующих индексов не меняется (см. reindex-alias-swap). Если два шаблона соответствуют одному шаблону имён, используется только шаблон с наивысшим priority; они не объединяются. dynamic: strict отклоняет документы с неопределёнными полями; если приложение отправит новое поле, индексация завершится ошибкой.

Открыть в DBAtlas →

Связанные материалы