495 Stimmen

Entfernen von Daten aus ElasticSearch

Ich möchte Daten aus ElasticSearch entfernen. Ich habe meine Indizes gelöscht. Allerdings scheint das die Daten selbst nicht zu entfernen. Die anderen Informationen, die ich gesehen habe, verweisen auf das Löschen nach Abfrage Feature. Allerdings bin ich mir nicht einmal sicher, wonach ich suchen soll. Ich kenne meine Indizes. Im Wesentlichen möchte ich herausfinden, wie man ein

DELETE FROM [Index]

aus PostMan in Chrome durchführt. Allerdings habe ich kein Glück. Es scheint, als hänge die Daten unabhängig davon, was ich tue. Bisher habe ich die Indizes erfolgreich gelöscht, indem ich das DELETE HTTP Verb in PostMan verwendet habe und eine URL wie diese:

   http://localhost:9200/[indexName]

Allerdings scheint das die Daten (auch Dokumente genannt) selbst nicht zu entfernen.

21voto

shahid ashraf Punkte 211

Das Löschen des Index löscht auch die Zuordnung und den Typ. Sie können alle Zeilen mit folgender Abfrage löschen

curl -XDELETE 'localhost:9200/twitter/tweet/_query?pretty' -d'
{
   "query": { 
      "match_all": 
   }
}'

Für die obige Abfrage müssen Sie jedoch das delete-by-query Plugin installieren, da delete-by-query ab Elasticsearch 2.0.0-beta1 aus der Haupt-API entfernt wurde

Installieren Sie das delete-by-query Plugin

sudo bin/plugin install delete-by-query

Weitere Informationen

http://blog.appliedinformaticsinc.com/how-to-delete-elasticsearch-data-records-by-dsl-query/

18voto

Vikash Chauhan Punkte 786
curl -X DELETE 'https://localhost:9200/_all'

Ändern Sie http in https, wenn Sie ein SSL-Zertifikat in Ihrer Anwendung verwenden

15voto

FChiri Punkte 727

Sie können den Index über die Kibana-Konsole löschen:

Konsolen-Symbol

Um alle Indizes zu erhalten:

GET /_cat/indices?v

Um einen bestimmten Index zu löschen:

DELETE /INDEX_NAME_TO_DELETE

12voto

rajdeepbs29 Punkte 1201

Um die Indizes aufzulisten curl -L localhost:9200/_cat/indices

9200 Standardport[ändere den Port, wenn ein anderer Port verwendet wird]

Sie werden wahrscheinlich alle Indizes im Format logstash-yyyy-mm-dd finden (logstash-*)

Sie können alle Indizes sehen und verwenden

Um die Indizes und Daten zu löschen, lösen Sie folgenden Befehl aus.

curl -XDELETE localhost:9200/index_name (Was die Daten und Indizes entfernen wird).

11voto

Pramod H G Punkte 1160

1. Löschen API

Entfernt ein Dokument aus dem angegebenen Index.

DELETE //_doc/<_id>

Beispiel:

DELETE http://localhost:9200/my-index-000001/_doc/1

Referenz: ES-Leitfaden >> Löschen API

2. Löschen nach Abfrage API

Löscht Dokumente, die der angegebenen Abfrage entsprechen.

Beispiel:

POST http://localhost:9200/my-index-000001/_delete_by_query
{
  "query": {
      "match": {
           "user.id": "elkbee"
      }
   }
}

Referenz: ES-Leitfaden >> Löschen nach Abfrage API

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X