Montar um index template a partir de component templates e simular o resultado
ElasticsearchCiclo de vida do índiceComando
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=nameO 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.