DBAtlas · Atlas de operações de banco de dados

Montar um index template a partir de component templates e simular o resultado

ElasticsearchCiclo de vida do índice

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

O que faz

Define um component template reutilizável de mapping, o compõe em um index template e mostra as configurações e o mapping finais que se aplicariam a um determinado nome de índice, sem criar o índice.

Quando usar

Quando novos índices são criados com o mapping ou a quantidade de shards errados (explosão de dynamic mapping, text em vez de keyword), e antes de aplicar uma mudança de template.

Atenção

Um template se aplica apenas a índices recém-criados; o mapping dos índices existentes não muda (veja reindex-alias-swap). Se dois templates corresponderem ao mesmo padrão, apenas o de maior priority é usado; eles não são mesclados. dynamic: strict rejeita documentos que contêm campos não definidos; se a aplicação enviar um campo novo, a indexação falha.

Abrir no DBAtlas →

Relacionados