DBAtlas · Atlas de operaciones de bases de datos

Construir un index template a partir de component templates y simular el resultado

ElasticsearchCiclo de vida de índices

Comando

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

Qué hace

Define un component template de mapping reutilizable, lo compone en un index template y muestra los settings y el mapping finales que se aplicarían a un nombre de índice dado sin crear el índice.

Cuándo usarlo

Cuando los índices nuevos se crean con el mapping o el número de shards equivocados (explosión de dynamic mapping, text en lugar de keyword) y antes de desplegar un cambio de template.

Precaución

Un template solo se aplica a los índices recién creados; el mapping de los índices existentes no cambia (vea reindex-alias-swap). Si dos templates coinciden con el mismo patrón, solo se usa el de mayor prioridad; no se fusionan. dynamic: strict rechaza los documentos que contienen campos no definidos; si la aplicación envía un campo nuevo, la indexación falla.

Abrir en DBAtlas →

Relacionado