DBAtlas · Atlas für Datenbankbetrieb

Index Template aus Component Templates aufbauen und das Ergebnis simulieren

ElasticsearchIndex-Lebenszyklus

Befehl

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

Was 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.

In DBAtlas öffnen →

Verwandte Einträge