Ich bin neu bei ElasticSearch . Ich versuche herauszufinden, wie Daten aus ElasticSearch entfernt werden. Ich habe meine Indizes gelöscht. Dies scheint jedoch die Daten selbst nicht zu entfernen. Die anderen Dinge, die ich gesehen habe, verweisen auf die Funktion " Nach Abfrage löschen". Ich bin mir jedoch nicht einmal sicher, worauf ich abfragen soll. Ich kenne meine Indizes. Im Wesentlichen möchte ich herausfinden, wie man a macht
DELETE FROM [Index]
Von PostMan in Chrome. Ich habe jedoch kein Glück. Es scheint, egal was ich mache, die Daten hängen herum. Bisher habe ich die Indizes erfolgreich gelöscht, indem ich das HTTP-Verb DELETE in PostMan und eine URL wie die folgende verwendet habe:
http://localhost:9200/[indexName]
Dies scheint jedoch die Daten (auch als Dokumente bezeichnet) nicht selbst zu entfernen.
quelle
Antworten:
Sie können
cURL
mit einem der vielen Tools, die Open Source-Enthusiasten für Elasticsearch erstellt haben, mit oder visuell löschen .CURL verwenden
z.B
Sie erhalten dann eine Antwort, ob dies erfolgreich war oder nicht. Sie können einen ganzen Index oder Typen mit einem Index löschen. Sie können auch einen Typ löschen, indem Sie die Dokument-ID wie folgt weglassen.
Wenn Sie einen Index löschen möchten -
Wenn Sie mehr als einen Index löschen möchten, der einer bestimmten Namenskonvention folgt (beachten Sie den
*
Platzhalter), -Visuell
Es gibt verschiedene Tools , wie oben erwähnt, habe ich sie hier aufzählen werde nicht , aber ich werde Sie zu einem Link, den Sie sofort loslegen ermöglicht, befindet sich hier . Dieses Tool heißt KOPF. Um eine Verbindung zu Ihrem Host herzustellen, klicken Sie auf das Logo in der oberen linken Ecke und geben Sie die URL Ihres Clusters ein.
Sobald die Verbindung hergestellt ist, können Sie Ihren gesamten Cluster verwalten, Ihren Cluster löschen, optimieren und optimieren.
quelle
Wenn Sie jemals alle Indizes löschen müssen, kann dies nützlich sein:
Power Shell:
quelle
In der Dokumentation (oder im Definitiven Handbuch ) heißt es, dass Sie auch die nächste Abfrage verwenden können, um alle Indizes zu löschen :
Und es gibt einen wichtigen Hinweis:
quelle
Sie müssen eine
DELETE
Anfrage an sendenSie können auch ein einzelnes Dokument löschen:
Ich schlage vor, Elastichammer zu verwenden .
Nach dem Löschen können Sie nachsehen, ob der Index noch unter der folgenden URL vorhanden ist:
http://[your_host]:9200/_stats/
Viel Glück!
quelle
Durch Löschen des Index wird die Zuordnung gelöscht und eingegeben. Sie können alle Zeilen mit der folgenden Abfrage löschen
Für die obige Abfrage müssen Sie jedoch das Plugin "Löschen nach Abfrage" installieren, da Elasticsearch 2.0.0-beta1 "Löschen nach Abfrage" aus der Haupt-API entfernt wurde
Für mehr
http://blog.appliedinformaticsinc.com/how-to-delete-elasticsearch-data-records-by-dsl-query/
quelle
quelle
Wechseln Sie
http
zu,https
wenn Sie in Ihrer Anwendung ein SSL-Zertifikat verwendenquelle
Sie können einen Index in Python wie folgt löschen
quelle
einfachster Weg!
Wo
twitter
ist der Index bei der elastischen Suche?ref; https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html
quelle
Für das Massenlöschen nach Abfrage können Sie eine spezielle API zum Löschen nach Abfrage verwenden :
In der Geschichte wurde diese API gelöscht und dann wieder eingeführt
Wer es interessant hat hat eine lange Geschichte.
quelle
Ich wollte den Logstash-Index löschen und suchte viel nach verschiedenen Tools wie Curl. Habe aber am Ende die Lösung gefunden. Melden Sie sich bei Kibana an. Gehen Sie zur Registerkarte Dev Tools, geben Sie das
DELETE /logstash-*
Abfragefeld ein und klicken Sie auf die grüne Pfeiltaste. Wenn Sie "bestätigt" werden: true als Antwort bedeutet dies, dass die Daten gelöscht wurden.quelle
Auflisten der Indizes
curl -L localhost:9200/_cat/indices
9200
Standardport [Ändern Sie den Port, wenn Sie einen anderen Port verwenden]Sie werden wahrscheinlich alle Indizes finden, die mit dem
logstash-yyyy-mm-dd
Format beginnen (logstash- *).Sie können alle Indizes sehen und verwenden
Zum Löschen der Indizes und Daten wird der folgende Befehl ausgelöst.
curl -XDELETE localhost:9200/index_name
(Dadurch werden sowohl die Daten als auch die Indizes entfernt.)quelle
Hier gibt es viele gute Antworten, aber ich möchte noch etwas hinzufügen:
quelle
Sie können entweder den gesamten Index, den Dokumenttyp oder bestimmte ID-Daten löschen. Dies sind die drei Möglichkeiten:
curl -XDELETE localhost: 9200 / index_name
curl -XDELETE localhost: 9200 / indexname / doc-type
curl -XDELETE localhost: 9200 / indexname / doc-type / documentId
und wenn Sie den gesamten Index löschen möchten, wählen Sie einen Platzhalter.
quelle
Sie können den Index auch mit der Aktion DELETE in 'elasticsearch head' ( Chrome-Plugin ) löschen . Fügen Sie es Ihrem Chrome hinzu und verbinden Sie es mit Ihrem Host. Dort finden Sie alle Ihre Indizes. Wenn Sie unter dem Index, den Sie löschen möchten, auf die Schaltfläche Aktionen klicken, finden Sie in der Dropdown-Liste die Option LÖSCHEN. Klicken Sie darauf und geben Sie DELETE in das Popup ein. Ihr Index wird gelöscht. Mit der Erweiterung "Elasticsearch head" können Sie Ihre Indizes und Daten auf einfache Weise anzeigen und verwalten.
quelle
Sie können den Chrome-Erweiterungselasticsearch-Kopf verwenden, um den Index zu löschen
quelle
Sie können den Index mit der Kibana-Konsole löschen:
So erhalten Sie alle Indizes:
So löschen Sie einen bestimmten Index:
quelle
Sie können einen oder mehrere Indizes löschen, wodurch deren Dateien wirklich von der Festplatte gelöscht werden . Zum Beispiel:
Wo
$INDEXNAME
kann ein Indexname sein (zBusers_v2
), N Indizes durch Komma getrennt (zBusers_v2,users_v3
). Ein Indexmuster (zBusers_*
) oder_all
funktioniert auch, es sei denn, es ist in der Konfiguration über blockiertaction.destructive_requires_name: true
.Das Löschen einzelner Dokumente ist möglich, wird jedoch nicht sofort gelöscht . Ein Löschen ist nur ein weiches Löschen, und Dokumente werden beim Zusammenführen von Segmenten wirklich entfernt . In dieser Präsentation finden Sie viele Details zu Segmenten und Zusammenführungen . Es geht um Solr, aber Zusammenführungen stammen von Lucene, sodass Sie in Elasticsearch die gleichen Optionen haben.
Zurück zur API können Sie entweder einzelne Dokumente nach ID löschen (einen Routing-Wert angeben, wenn Sie mit Routing indizieren):
Oder auf Anfrage:
quelle
Angenommen, ich muss einen Index löschen
filebeat-7.6.2-2020.04.30-000001
und habe ihn mit der Option curl DELETE (curl -X DELETE "localhost:9200/filebeat-7.6.2-2020.04.30-000001?pretty"
) ausgeführt. Dies führt zu einem Authentifizierungsproblem wie folgt .Hier sollten Sie die Curl-Anfrage mit dem Benutzernamen und dem Passwort authentifizieren, die Sie für Elasticsearch angegeben haben. Versuchen Sie es dann
curl -X DELETE -u myelasticuser:myelasticpassword "localhost:9200/filebeat-7.6.2-2020.04.30-000001?pretty"
führt zu {"bestätigt": wahr} .
quelle