So erstellen Sie Elasticsearch -Indizes

So erstellen Sie Elasticsearch -Indizes
Elasticsearch ist ein Teil des beliebten Elch -Stacks, der für Protokollanalysen und -Suche verwendet wird. Anwendungen und Systeme protitieren ständig Daten. Mit dem Elch -Stack haben Sie die besten Werkzeuge, um diese Aufgaben schnell und sehr einfach auszuführen.

In diesem kurzen Tutorial werden wir uns Elasticsearch ansehen, insbesondere wie man Indizes in der Elasticsearch -Engine erstellt. Obwohl Sie kein umfassendes Wissen über Elk Stack benötigen, um diesem Tutorial zu folgen, kann ein grundlegendes Verständnis der folgenden Themen vorteilhaft sein:

  • Unter Verwendung des Terminals speziell curl
  • Grundkenntnisse über APIs und JSON
  • HTTP -Anfrage machen

NOTIZ: In diesem Tutorial geht auch davon aus.

Was sind Elasticsearch -Indizes??

Ein Elasticsearch -Index ist eine Sammlung verwandter JSON -Dokumente, ohne Dinge zu vereinfachen oder zu überkomplizieren.

Wie in einem früheren Beitrag erwähnt, sind Elasticsearch-Indizes von JSON-Objekten, die die Basis-Speichereinheit in Elasticsearch übertragen haben. Diese verwandten JSON -Dokumente werden in einer einzigen Einheit gespeichert, die einen Index ausmacht. Stellen Sie sich Elasticsearch -Dokumente als Tabellen in einer relationalen Datenbank vor.

Lassen Sie uns einen Elasticsearch -Index als Datenbank in der SQL -Welt beziehen.

  • Mysql => Datenbanken => Tabellen => Spalten/Zeilen
  • Elasticsearch => indices => Typen => JSON -Dokumente mit Eigenschaften

So erstellen Sie einen Elasticsearch -Index

Elasticsearch verwendet eine leistungsstarke und intuitive REST -API, um ihre Dienste freizulegen. Mit dieser Funktionalität können Sie HTTP -Anforderungen verwenden, um Operationen auf dem Elasticsearch -Cluster auszuführen. Daher werden wir die Create Index -API verwenden, um einen neuen Index zu erstellen.

Für diesen Leitfaden verwenden wir Curl, um die Anfragen zu senden und die Integrität und Benutzerfreundlichkeit für alle Benutzer zu erhalten. Wenn Sie jedoch auf Fehler mit Curl stoßen, sollten Sie die Kibana -Konsole verwenden.

Die Syntax zum Erstellen eines neuen Index im Elasticsearch -Cluster lautet:

SETZEN /

Um einen Index zu erstellen, müssen Sie lediglich den Indexnamen ohne andere Parameter übergeben, wodurch ein Index mithilfe der Standardeinstellungen erstellt wird.

Sie können auch verschiedene Merkmale des Index angeben, z. B. im Index -Körper:

  • Die Einstellungen für den Index
  • Index -Aliase
  • Zuordnungen für Indexfelder

Der Indexname ist ein erforderlicher Parameter. Andernfalls erhalten Sie einen Fehler für den Uril (/)

curl -x "localhost: 9200" setzen
"Fehler": "Falsche HTTP -Methode für URI [/] und Methode [Put], erlaubt: [Löschen, Kopf, Get]", "Status": 405

Um einen neuen Index mit dem Namen einzeln_index zu erstellen, übergeben wir die Anfrage:

Put /Single_index

Verwenden Sie für Curl den Befehl:

curl -x put "localhost: 9200/Single_index?hübsch"

Dieser Befehl sollte zu dem HTTP -Status 200 OK und einer Nachricht mit bestätigter: Richtig wie folgt führen:


"Anerkannt": wahr,
"shards_acknowgedged": wahr,
"Index": "Single_index"

Die obige Anforderung erstellt einen Index Single_index mit Standardeinstellungen, da wir keine Konfigurationen angegeben haben.

Index -Namensregeln

Wenn Sie Namen für Elasticsearch -Indizes erstellen, müssen Sie die folgenden Namensstandards einhalten:

  1. Der Indexname muss nur im unteren Fall sein.
  2. Die Indexnamen können nicht mit einem Dash (-), einem Unterstrich (_) oder einem Additionszeichen (+) beginnen
  3. Die Namen können nicht sein . oder…
  4. Indexnamen können keine Sonderzeichen wie: \, /, * enthalten, ?, ",, |," (Weltraumcharakter), ,, #
  5. Die Länge der Indexnamen muss weniger als 255 Bytes betragen. Multi-Byte-Zeichen zählen in der Gesamtlänge des Indexnamens. Wenn beispielsweise ein einzelnes Zeichen 8 Byte lang ist, beträgt die verbleibende Länge des Namens 255 - 8
  6. In der neuesten Version von Elasticsearch beginnen Namen, die mit a beginnen . sind für versteckte Indizes und interne Indizes reserviert, die von Elasticsearch -Plugins verwendet werden.

So erstellen Sie einen Index -Körper

Wenn Sie die Put -Anforderung zum Erstellen eines Index verwenden, können Sie verschiedene Argumente übergeben, die die Einstellungen für den Index definieren, den Sie erstellt haben möchten. Zu den Werten, die Sie im Körper angeben können, gehören:

  • Aliase: Gibt Aliasamen für den Index an, den Sie erstellt haben möchten. Dieser Parameter ist optional.
  • Einstellungen: Dies definiert die Konfigurationsoptionen für den Index, den Sie erstellt haben möchten. Wenn Sie keine Parameter angeben, wird der Index mithilfe von Standardkonfigurationen erstellt.
  • Zuordnungen: Dies definiert die Zuordnung für Felder im Index. Zu den Spezifikationen, die Sie in Zuordnungen enthalten können, gehören:
    • Der Feldname
    • Der Datentyp
    • Der Zuordnungsparameter

Betrachten Sie für ein Beispiel für das Erstellen eines Index mit Körperkonfigurationen die folgende Anforderung:

Put /einzeln_index_with_body

"Einstellungen":
"number_of_shards": 2,
"number_of_replicas": 2
,
"Mappings":
"Eigenschaften":
"field1": "Typ": "Objekt"


Für eine curl äquivalente Anfrage:

curl -xput "http: // localhost: 9200/einzeln_index_with_body" -h 'content -type: application/json' -d '"Einstellungen": "number_of_shards": 2, "number_of_replicas": 2, "mappings" "mappings" : "Eigenschaften": "field1": "Typ": "Objekt" '

Die obige Anforderung erstellt einen neuen Index mit dem Namen Single_index_with_body mit 2 Nummern von Scherben und 2 Replikaten. Es erstellt auch eine Zuordnung mit einem Feld des Namens des Namens und tippt als JSON -Objekt ein.

Sobald Sie die Anfrage gesendet haben, erhalten Sie eine Antwort mit dem Status der Anfrage als:


"Anerkannt": wahr,
"shards_acknowgedged": wahr,
"Index": "Single_index_with_body"

"Anerkennung" zeigt, ob der Index erfolgreich im Cluster erstellt wurde, während „Shards_acknowgedged“ zeigt, ob die erforderliche Anzahl von Shard -Kopien für jeden Shard im angegebenen Index vor der Zeit nach der Zeit gestartet wurde.

So sehen Sie den Elasticsearch -Index

Um die Informationen zu dem von Ihnen erstellten Index anzuzeigen, verwenden Sie eine ähnliche Anforderung wie die Erstellung eines Index, verwenden Sie jedoch die HTTP -Methode, anstatt wie folgt zu sagen:

Get /einzeln_index_with_body

Für Curl,

curl -xget "http: // localhost: 9200/einzeln_index_with_body"

In diesem Befehl erhalten Sie detaillierte Informationen zum angeforderten Index als:


"Single_index_with_body":
"Aliase": ,
"Mappings":
"Eigenschaften" :
"field1":
"Typ": "Objekt"


,
"Einstellungen" :
"Index" :
"Routing":
"Allokation":
"enthalten" :
"_tier_preference": "Data_Content"


,
"number_of_shards": "2",
"bereitgestellt_name": "Single_index_with_body",
"Creation_date": "1611045687208",
"number_of_replicas": "2",
"UUID": "3TRKO7XMQCSUOOGTB6PXVA",
"Ausführung" :
"erstellt": "7100299"




Abschluss

In diesem Leitfaden wurde erläutert, wie man mit Elasticsearch arbeitet, um Index -API zu erstellen, um neue Indizes zu erstellen. Wir haben auch besprochen, wie Sie geeignete Namen für die Indizes und Konfigurationseinstellungen erstellen.

Mit dieser Anleitung können Sie jetzt Indizes mit der Elasticsearch -API erstellen und anzeigen.