Elastische Suche

Elasticsearch Index löschen How-to

Elasticsearch Index löschen How-to
Elasticsearch liebt Daten; das kann keiner von uns bestreiten. Daten können jedoch irgendwann überflüssig und nutzlos werden, sodass sie entfernt werden müssen.

Glücklicherweise müssen Sie mit Elasticsearch, wenn Daten redundant werden, nur auf ein Tool zugreifen, um Anfragen auszuführen und Daten über das Netzwerk zu übertragen.

Diese Kurzanleitung zeigt Ihnen, wie Sie mit der mächtigen Elasticsearch API Dokumente und Indizes löschen delete.

HINWEIS: Wir gehen davon aus, dass auf Ihrem System Elasticsearch ausgeführt wird und Sie über ein Tool zum Senden von Anfragen wie cURL . verfügen. Wir stellen auch rohe Kibana-Anfragen bereit, wenn Sie die Kibana-Konsole verwenden (empfohlen).

So listen Sie den Index auf?

Wenn Sie in Elasticsearch löschen und indizieren möchten, müssen Sie zuerst überprüfen, ob es vorhanden ist, bevor Sie die DELETE-Anfrage senden.

Wenn Sie versuchen, einen nicht vorhandenen Index zu löschen, erhalten Sie eine Fehlermeldung ähnlich der unten gezeigten:

LÖSCHEN /this_index_does_not_exist

Für cURL-Befehl:

curl -XDELETE „http://localhost:9200/this_index_does_not_exist“

Beim Löschen eines Index wird ein Fehler wie folgt ausgegeben:


"Error" :
"Ursache" : [

"type" : "index_not_found_Exception",
"Grund" : "kein solcher Index [this_index_does_not_exist]",
"index_uuid" : "_na_",
"Ressource.type" : "index_or_alias",
"Ressource.id" : "this_index_does_not_exist",
"index" : "this_index_does_not_exist"

],
"type" : "index_not_found_Exception",
"Grund" : "kein solcher Index [this_index_does_not_exist]",
"index_uuid" : "_na_",
"Ressource.type" : "index_or_alias",
"Ressource.id" : "this_index_does_not_exist",
"index" : "this_index_does_not_exist"
,
"status" : 404

Es gibt verschiedene Möglichkeiten zu prüfen, ob ein Index existiert; das Beste ist, seinen Namen aufzulisten. Sie können beispielsweise Platzhalter verwenden, um einem bestimmten Namen zu entsprechen.

Die folgende Beispielanfrage listet Indizes mit Namen te* auf

GET /te*

Der cURL-Befehl lautet:

curl -XGET „http://localhost:9200/te*“

Dieser Befehl sollte alle Indizes zurückgeben, die diesem bestimmten Muster entsprechen, sodass Sie sich nur den Teilnamen des Indexes merken können, den Sie entfernen möchten.


"temp" :
"Alias" : ,
"Zuordnungen" : ,
"die Einstellungen" :
"Index" :
"Routing" :
"Zuweisung" :
"einschließen":
"_tier_preference" : "data_content"


,
"number_of_shards" : "1",
"provided_name" : "temp",
"Erstellungsdatum": "1611180802266",
"Anzahl_der_Replikate" : "1",
"uuid" : "c7dOH6MQQUmHM2MKJ73ekw",
"Ausführung" :
"erstellt" : "7100299"



,
"temp_1":
"Alias" : ,
"Zuordnungen" : ,
"die Einstellungen" :
"Index" :
"Routing" :
"Zuweisung" :
"einschließen":
"_tier_preference" : "data_content"


,
"number_of_shards" : "1",
"bereitgestellter_name" : "temp_1",
"Erstellungsdatum": "1611180811874",
"Anzahl_der_Replikate" : "1",
"uuid" : "pq1UUR2XTZS3xfs6Hxr4gg",
"Ausführung" :
"erstellt" : "7100299"



,
"temp_2":
"Alias" : ,
"Zuordnungen" : ,
"die Einstellungen" :
"Index" :
"Routing" :
"Zuweisung" :
"einschließen":
"_tier_preference" : "data_content"


,
"number_of_shards" : "1",
"bereitgestellter_name" : "temp_2",
"Erstellungsdatum": "1611180815041",
"Anzahl_der_Replikate" : "1",
"uuid" : "8NdXWPuBTLe6r4eZ407W9Q",
"Ausführung" :
"erstellt" : "7100299"




Eine andere Möglichkeit besteht darin, der Anfrage den Parameter ignore_unavailable hinzuzufügen. Beispielsweise:

LÖSCHEN  /ignore_me?ignore_unavailable=true
Für cURL-Benutzer:
[cc lang="text" width="100%" height="100%" escaped="true" theme="blackboard" nowrap="0"]
curl -XDELETE „http://localhost:9200/ignore_me?ignore_unavailable=true”

So löschen Sie ein  Index?

Sobald Sie den Index haben, den Sie aus Elasticsearch entfernen möchten, verwenden Sie die DELETE-Anfrage gefolgt vom Indexnamen.

Die allgemeine Syntax lautet:

LÖSCHEN /

Der Indexname kann ein bestimmter Index oder ein Platzhalter sein, der eine Gruppe von Indizes auswählt. Stellen Sie sicher, dass Sie Platzhalter richtig verwenden. Andernfalls könnten Sie die falschen Indizes entfernen.

HINWEIS: Das Löschen von Elasticsearch-Indizes mithilfe von Aliasen ist nicht zulässig.

Betrachten Sie die folgende Beispielanfrage, die den Index temp_1 entfernt:

LÖSCHEN /temp_1

Für cURL-Befehl:

curl -XDELETE „http://localhost:9200/temp_1“

Die Ausführung dieses Befehls sollte mit einem JSON-Objekt antworten, das die erfolgreiche Entfernung des Index anzeigt.


„bestätigt“: wahr

Elasticsearch ist intelligent genug, um zu wissen, dass Sie Indizes versehentlich entfernen können. Daher können Sie festlegen, welche Arten von Platzhalterausdrücken zulässig sind.

Diese Art von Platzhalterausdrücken umfasst:

  • Alle: Enthält alle Indizes, einschließlich offen, geschlossen und versteckt (beginnend mit)
  • Öffnen: Enthält nur offene Indizes
  • Geschlossen: Beinhaltet nur geschlossene Indizes
  • Keiner: Keine Wildcard-Ausdrücke erlaubt.

Fazit

In dieser kurzen und einfachen Anleitung haben wir den Prozess der Verwendung von Elasticsearch zum Löschen von Indizes aus einem Cluster besprochen. Wir haben auch einfache Möglichkeiten besprochen, die Sie implementieren können, um Fehler für Indizes zu vermeiden, die nicht existieren.

Danke fürs Lesen.

Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...
Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...