Construire un template d'index à partir de component templates et simuler le résultat
ElasticsearchCycle de vie des indexCommande
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=nameCe que fait la commande
Définit un component template de mapping réutilisable, le compose dans un template d'index, et affiche les paramètres et le mapping finaux qui s'appliqueraient à un nom d'index donné sans créer l'index.
Quand l'utiliser
Quand de nouveaux index sont créés avec un mauvais mapping ou un mauvais nombre de shards (explosion du dynamic mapping, text au lieu de keyword), et avant de déployer une modification de template.
Attention
Un template ne s'applique qu'aux index nouvellement créés ; le mapping des index existants ne change pas (voir reindex-alias-swap). Si deux templates correspondent au même motif, seul celui de plus haute priorité est utilisé ; ils ne sont pas fusionnés. dynamic: strict rejette les documents contenant des champs non définis ; si l'application envoie un nouveau champ, l'indexation échoue.