Index Template aus Component Templates aufbauen und das Ergebnis simulieren
ElasticsearchIndex-LebenszyklusBefehl
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=nameWas es tut
Definiert ein wiederverwendbares Mapping-Component-Template, setzt es zu einem Index Template zusammen und zeigt die endgültigen Settings und das Mapping, die für einen gegebenen Indexnamen gelten würden, ohne den Index anzulegen.
Wann einsetzen
Wenn neue Indizes mit falschem Mapping oder falscher Shard-Anzahl angelegt werden (Dynamic-Mapping-Explosion, text statt keyword), und vor dem Ausrollen einer Template-Änderung.
Vorsicht
Ein Template gilt nur für neu angelegte Indizes; das Mapping bestehender Indizes ändert sich nicht (siehe reindex-alias-swap). Passen zwei Templates auf dasselbe Muster, wird nur das mit der höchsten Priorität verwendet; sie werden nicht zusammengeführt. dynamic: strict lehnt Dokumente mit undefinierten Feldern ab; sendet die Anwendung ein neues Feld, schlägt die Indexierung fehl.