ElasticSearch ist eine kostenlose Open-Source-Such- und Analyse-Engine, die den Elchstapel versorgt. Mit Elasticsearch können die verschiedenen Datenpipelines mit Tools wie Logstash die Daten erfassen und zusammenhängen. Elasticsearch speichert dann die bereitgestellten Daten und ermöglicht es den Anwendungen, große Datenmengen in naher Echtzeit zugreifen, zu suchen, zu sortieren und zu filtern. Mit Elasticsearch können Sie auch die verschiedenen Daten mit integrierten Tools visualisieren.
Solche Merkmale machen Elasticsach sehr geeignet, um die umfangreichen Datenmengen mit minimaler bis garer Latenz zu suchen und zu sortieren. Egal, ob Sie eine Suchmaschine erstellen oder Protokolle, Metriken und andere Textdaten analysieren, Elasticsearch ist eine gute Wahl.
Im Zentrum von Elasticsearch steht ein Index. Ein Index bezieht sich auf die Einheit, die für die Speicherung der Dokumente in Elasticsearch verantwortlich ist. Ein Index entspricht einer Datenbank im Kontext relationaler Datenbanken relativ äquivalent. Sie können beispielsweise einen Index haben, der alle Daten für die Protokolle einer Webanwendung enthält.
Wie bei allen Datenbanken können Sie auf ein Szenario stoßen, in dem Sie alle Daten aus Ihrem Cluster entfernen müssen, sodass Sie mit einem sauberen Schiefer beginnen können.
Dieser Artikel zeigt, wie Sie die Elasticsearch -API -Funktionen verwenden, um alle Indizes aus Ihrem Cluster zu entfernen.
Achtung: Die in diesem Artikel verwendeten Methoden und Techniken führen zu Datenverlust. Wir haben keine Verantwortung für einen Datenverlust, der aufgrund der Anweisungen in diesem Artikel auftreten kann.
Elasticsearch Index -API löschen
Wenn Sie mit der Elasticsearch beginnen, müssen Sie wissen, wie Sie die grundlegenden API -Aufrufe ausführen können. Dies liegt daran, dass Elasticsearch die APIs zum Maximum nutzt.
Wie Sie erraten können, verwenden wir die Löschindex -API, um einen Index aus einem Cluster zu entfernen. Die Syntax für die Index -Löschanforderungen ist wie gezeigt:
LÖSCHEN /
Die Anforderung beseitigt den angegebenen Index und die gespeicherten Dokumente, Scherben und alle seine Metadaten.
Beachten Sie, dass dies keine Kibana -Komponenten beseitigt, die dem angegebenen Index zugeordnet sind, wie z. B. Datenansichten usw.
Sie können ein einzelnes oder mehrere Indizes angeben, indem Sie sie mit Kommas trennen. Eine Beispielsyntax ist wie gezeigt:
Löschen /index_name
Löschen /Index1, Index2, Index3… INDEXN
Elasticsearch verhindert, dass Sie beim Löschen eines Index den Index -Alias verwenden. Stattdessen müssen Sie den Indexnamen verwenden.
Beispiel 1: Elasticsearch Löschenindex löschen
Das folgende Beispiel zeigt, wie die Elasticsearch -Delete -Index -API verwendet wird, um einen vorhandenen Index aus dem Cluster zu entfernen:
curl -xdelete "http: // localhost: 9200/kibana_sample_data_logs?Pretty = True "-H" KBN -XSRF: Berichterstattung "
Die vorherige Anfrage sendet eine Löschanforderung an die API lösche. Dies sollte den Index mit dem Namen "kibana_sample_data_logs" entfernen.
Die resultierende Ausgabe ist wie gezeigt:
"Anerkannt": wahr
Beispiel 2: Elasticsearch löschen mehrere Indizes
Wir können die mehreren Indizes entfernen, indem wir sie als von Kommas getrennte Liste übergeben. Eine Beispielabfrage ist wie gezeigt:
curl -xdelete "http: // localhost: 9200kibana_sample_data_flights, kibana_sample_data_logs?Pretty = True "-H" KBN -XSRF: Berichterstattung "
Der vorherige Befehl löscht die angegebenen Indizes und gibt eine Nachricht wie gezeigt zurück:
"Anerkannt": wahr
Hinweis: Wenn der Index nicht vorhanden ist, gibt Elasticsearch einen Fehler zurück, wie gezeigt:
Beispiel 3: Elasticsearch löschen alle Indizes
Wir können die _all -Wildcard in der Löschindex -API verwenden, um alle Indizes von einem Cluster zu entfernen. Die löschende Index -API wird Sie standardmäßig daran hindern, die Wildcards in der Anfrage zu übergeben.
Sie können dies deaktivieren, indem Sie die Aktion festlegen.descTruction_requires_name zu false.
Die folgende Abfrage zeigt, wie Sie die Verwendung von Wildcards in der Löschindex -API aktivieren können:
curl -xput "localhost: 9200/_cluster/Einstellungen" -H "KBN -XSRF: Berichterstattung" -H "Inhaltstyp: application/json" -d '
"transient":
"Aktion.zerstörerisch_requires_name ": Falsch
'
HINWEIS: Obwohl Elasticsearch die Verwendung von transienten Clustereinstellungen nicht empfiehlt, vermeiden Sie die destruktiven Clusterparameter wie die Verwendung von Wildcards als anhaltende Clustereinstellung festlegen.
Die vorherige Abfrage sollte das Ergebnis als:
"Anerkannt": wahr,
"hartnäckig": ,
"transient":
"Aktion":
"Destructive_RiES_NAME": "Falsch"
Sobald Sie erfolgreich sind, können Sie alle Indizes im Cluster entfernen, indem Sie den folgenden Befehl ausführen:
curl -xdelete "http: // localhost: 9200/_all?Pretty = True "-H" KBN -XSRF: Berichterstattung "
Beispiel 4: Elasticsearch löschen alle Indizes, die bestimmte Namen entsprechen
Wenn Sie alle Indizes entfernen möchten, die mit einem bestimmten Muster übereinstimmen, können Sie einen Wildcard -Zeichen verwenden (*).
Um beispielsweise alle Indizes zu entfernen, beginnend mit dem Namen Kibana, können wir die folgende Abfrage ausführen:
curl -xdelete "http: // localhost: 9200/kibana*" -h "kbn-xsrf: meldeing"
Die vorherige Anfrage beseitigt alle Indizes, beginnend mit Kibana.
Hinweis: Die vorherige Anfrage erfordert die Verwendung von Wildcards. Daher müssen Sie die Wildcard -Unterstützung ermöglichen, wie im vorherigen Abschnitt gezeigt.
Abschluss
Diese Anleitung hat Ihnen beigebracht, wie Sie die Elasticsearch -Löschung index. Sie haben auch gelernt, wie Sie die Wildcard -Unterstützung in Ihrem Cluster aktivieren, alle Indizes entfernen und die Indizes entfernen, die einem bestimmten Muster entsprechen.