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.

So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...
So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...
Herunterladen und Spielen von Sid Meier's Civilization VI unter Linux and
Einführung in das Spiel Civilization 6 ist eine moderne Version des klassischen Konzepts, das in der Reihe der Age of Empires-Spiele eingeführt wurde....