So konfigurieren Sie eine Elasticsearch -Indexvorlagen

So konfigurieren Sie eine Elasticsearch -Indexvorlagen
Indizes sind ein wesentliches Elasticsearch -Funktion, ohne die es wahrscheinlich nicht so funktionieren würde wie es. Obwohl Elasticsearch -Indizes je nach beabsichtigter Verwendung variieren können, teilen sie tendenziell gemeinsame Eigenschaften. Vor diesem Hintergrund kann es lästig sein, ähnliche Eigenschaften für alle Indizes zu erstellen. Stattdessen ist es viel effizienter, eine Vorlage zu erstellen, auf die wir uns beim Erstellen eines Index beziehen können.

In diesem Tutorial führt Sie durch die Vorlagen von Elasticsearch -Indexvorlagen, mit denen Sie Vorlagen oder Blaupausen für gemeinsame Indizes definieren können. Wenn Sie beispielsweise Daten aus externen Quellen ständig protokollieren, können Sie eine Blaupause für alle Protokollierungsindizes definieren.

NOTIZ: Bevor wir beginnen, ist es gut zu beachten, dass sich das Tutorial auf die neueste Version von Elasticsearch-7 konzentriert.8 Zum Zeitpunkt des Schreibens-und es kann von anderen Versionen variieren. Wir gehen auch davon aus, dass Elasticsearch irgendwo auf einem System ausgeführt wird.

Lassen Sie uns mit Elasticsearch Index -Vorlagen arbeiten.

Was ist eine Elasticsearch -Indexvorlage?

Eine Elasticsearch -Index -Vorlage ist eine Methode, mit der Elasticsearch zur Konfiguration von Indizes nach der Erstellung angewiesen wird. Beispielsweise konfiguriert eine in einem Datenstrom verwendete Indexvorlage die Unterstützungsindizes des Streams nach der Erstellung. Eine Indexvorlage wird vor der Indexerstellung manuell erstellt. Beim Erstellen eines Index wendet die Vorlage die Konfigurationseinstellungen für den Index an.

Die neueste Version von Elasticsearch enthält zwei Arten von Gebrauchsvorlagen. Einer ist das Indexvorlage, Und der andere ist Komponentenvorlagen. Wie wir bereits festgestellt haben, helfen Indexvorlagen bei der Erstellung von Elasticsearch -Indizes.

Komponentenvorlagen sind wiederverwendbare Module oder Blöcke, die zum Konfigurieren von Einstellungen, Zuordnungen und Aliase verwendet werden. Komponentenvorlagen werden nicht direkt auf die erstellten Indizes angewendet, können jedoch dazu beitragen, Indexvorlagen zu erstellen.

Einige von Elasticsearch verwendete Standardindexvorlagen umfassen: Metriken-*-*, Protokolle-*-* .

So erstellen Sie eine Indexvorlage

Um neue Indexvorlagen zu erstellen oder vorhandene zu aktualisieren, verwenden wir die API Put Template API. Mit dem Endpunkt _index_template können wir eine HTTP -Anforderung senden, um eine Vorlage hinzuzufügen.

Die allgemeine Syntax zum Erstellen einer Vorlage lautet:

Put _index_template/template_name

Es ist gut zu beachten, dass der Vorlagenname ein erforderlicher Parameter ist. Betrachten Sie die folgende Anforderung, die eine Indexvorlage als template_1 erstellt hat

Legen Sie _index_template/template_1 ein

/ * Definieren Sie das Indexmuster */
"Index_Patterns": ["te*"],
"Priorität": 1,
/* Einstellungen für die Indizes definieren*/
"Vorlage":
"Einstellungen" :
"number_of_shards": 2


Für Curl -Benutzer lautet der Befehl:

curl -xput "http: // localhost: 9200/_index_template/template_1" -h 'content -type: application/json' -d '/*Definieren Sie das Indexmuster*/"index_patterns": ["TE*"],,, "Priorität": 1, /* Definieren Sie Einstellungen für die Indizes* / "Vorlage": "Einstellungen": "number_of_shards": 2 '

Elasticsearch verwendet ein Wildcard -Muster, um die Indexnamen zu entsprechen, bei denen die Vorlagen angewendet werden. Das Ändern oder Aktualisieren einer Indexvorlage wirkt sich nicht nur auf die bereits erstellten Indizes aus, nur diejenigen, die nach der Verwendung dieser Vorlage erstellt werden.

Von oben können Sie Ihre Vorlagen mit der C-Sprache-Kommentarmethode kommentieren. Sie können so viele Kommentare hinzufügen, wie Sie möchten, überall im Körper außer der Öffnung der Curly -Klammern.

Im Körper einer Indexvorlage können Sie verschiedene Definition einfügen, wie z. B.:

  • Vorlage: Die Vorlageneigenschaft (Objekt) definiert, welche Vorlage angewendet werden soll. Es kann Aliase, Zuordnungen und Einstellungen enthalten-ein optionaler Parameter.
  • Zusammengesetzt aus: Diese Eigenschaft definiert eine Liste von Namen für Komponentenvorlagen. Nach der Definition werden Komponentenvorlagen in ihrer Spezifikationsreihenfolge verschärft. Das bedeutet.
  • Priorität: Die Priority -Eigenschaft definiert den Vorrang der Indexvorlage beim Erstellen eines Index. Wenn ein Vorrang den höchsten Wert hat, ist es im Vergleich zu niedrigeren Werten höhere Vorrang. Der Prioritätswert ist nicht erforderlich und ist vom Typ Ganzzahl. 0 ist der Standardwert für nicht spezifizierte Vorlagen.
  • Ausführung: Der Versionsparameter gibt die Index -Vorlagenversion an, mit der die Vorlagen verwaltet werden können.

Es gibt andere Eigenschaften, die Sie in die Indexvorlagekörper aufnehmen können. Betrachten Sie die Dokumentation, um mehr zu erfahren.

https: // www.elastisch.co/leitfaden/en/elasticsearch/reference/7.10/Index-Templates.html

Im Folgenden finden Sie eine Beispielanforderung, eine neue Vorlage mit Version 1 zu erstellen.0

Put /_index_template /template_2

"Index_Patterns": ["RMP*", "Re*"],
"Priorität": 1,
"Vorlage":
"Einstellungen" :
"number_of_shards": 2,
"number_of_replicas": 0

,
"Version 1.0

Sie können nicht mehr als eine Indexvorlage mit einem Matching -Muster und der gleichen Priorität haben. Stellen Sie daher sicher, dass Sie unterschiedliche Prioritäten zuweisen, um Mustervorlagen zu entsprechen.

So erhalten Sie Indexvorlage

Um Informationen zu einer Indexvorlage anzuzeigen, senden Sie eine GET -Anforderung an die _index_template -API. Verwenden Sie beispielsweise die Anforderung, um Informationen zu Template_2 anzuzeigen:

Get _index_template/template_2

Der Befehl curl lautet:

curl -xget "http: // localhost: 9200/_index_template/template_2"

In diesem Befehl sollten Informationen zu Template_2 angezeigt werden


"index_templates": [

"Name": "template_2",
"Index_template":
"Index_Patterns": [
"RMP*",
"Betreff*"
],
"Vorlage" :
"Einstellungen" :
"Index" :
"number_of_shards": "2",
"number_of_replicas": "0"


,
"zusammengesetzt aus" : [ ],
"Priorität": 1,
"Version 1


]

Sie können auch Wildcards verwenden, um passende Vorlagen zu erhalten. Betrachten Sie beispielsweise die folgende Anfrage, um alle Vorlagen in Elasticsearch anzuzeigen.

Holen Sie sich _index_template/*

Der Befehl curl ist.

curl -xget http: // localhost: 9200/_index_template/*

Dieser Befehl sollte Ihnen Informationen zu allen Vorlagen in Elasticsearch geben


"index_templates": [

"Name": "Ilm-History",
"Index_template":
"Index_Patterns": [
"Ilm-History-3*"
],
"Vorlage" :
"Einstellungen" :
"Index" :
"Format": "1",
"Lebenszyklus" :
"Name": "Ilm-History-Ilm-Policy",
"rollover_alias": "ilm-history-3"
,
"versteckt": "wahr",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"

,
"Mappings":
"Dynamisch": Falsch,
"Eigenschaften" :
"index_age":
"Typ": "lang"
,
"@timestamp":
"Format": "epoch_millis",
"Typ": "Datum"
,
"Fehlerdetails" :
"Text eingeben"
,
"Erfolg":
"Typ": "Boolean"
,
"Index" :
"Typ": "Schlüsselwort"
,
"Zustand" :
"Dynamisch": wahr,
"Typ": "Objekt",
--------------------------Ausgang abgeschnitten-----------------------------------

So löschen Sie Vorlagen

Das Löschen einer Vorlage ist genauso einfach wie die GET -Vorlage, aber mithilfe der Löschen der Anforderung als:

Löschen Sie _index_template/template_2

Sie können den Befehl curl verwenden:

curl -xdelete "http: // localhost: 9200/_index_template/template_2"

Dieser Befehl löscht automatisch die angegebene Vorlage.

Abschluss

Dieses Tutorial behandelte, was Elasticsearch -Indexvorlagen sind, wie sie funktionieren und wie Indexvorlagen erstellt, angezeigt und gelöscht werden können. Diese grundlegenden Informationen sollten Ihnen helfen, die Verwendung von Elasticsearch -Indexvorlagen zu verwenden.