394 Stimmen

Liste alle Indizes auf dem ElasticSearch-Server auf?

Ich möchte alle Indizes auflisten, die auf einem ElasticSearch-Server vorhanden sind. Ich habe es damit versucht:

curl -XGET localhost:9200/

aber es gibt mir nur dies zurück:

{
  "ok" : true,
  "status" : 200,
  "name" : "El Aguila",
  "version" : {
    "number" : "0.19.3",
    "snapshot_build" : false
  },
  "tagline" : "Du weißt, wofür man sucht"
}

Ich möchte eine Liste aller Indizes...

609voto

karmi Punkte 13269

Für eine übersichtliche Liste aller Indizes in Ihrem Cluster, rufen Sie an

curl http://localhost:9200/_aliases

dies gibt Ihnen eine Liste von Indizes und deren Aliase.

Wenn Sie es schön formatiert möchten, fügen Sie pretty=true hinzu:

curl http://localhost:9200/_aliases?pretty=true

Das Ergebnis wird so ähnlich aussehen, wenn Ihre Indizes old_deuteronomy und mungojerrie genannt werden:

{
  "old_deuteronomy" : {
    "aliases" : { }
  },
  "mungojerrie" : {
    "aliases" : {
      "rumpleteazer" : { },
      "that_horrible_cat" : { }
    }
  }
}

180voto

Abhijit Mazumder Punkte 7227

Versuchen Sie

curl 'localhost:9200/_cat/indices?v'

Es wird Ihnen folgende selbsterklärende Ausgabe in tabellarischer Form geben

health index    pri rep docs.count docs.deleted store.size pri.store.size
yellow customer   5   1          0            0       495b           495b

39voto

Matthew Boynes Punkte 1110

Sie können localhost:9200/_status abfragen und erhalten eine Liste von Indizes und Informationen zu jedem. Die Antwort wird ungefähr so aussehen:

{
  "ok" : true,
  "_shards" : { ... },
  "indices" : {
    "my_index" : { ... },
    "another_index" : { ... }
  }
}

32voto

paweloque Punkte 17842

Der Befehl _stats bietet Möglichkeiten, die Ergebnisse durch Angabe der gewünschten Metriken anzupassen. Um die Indizes zu erhalten, lautet die Abfrage wie folgt:

GET /_stats/indices

Das allgemeine Format der _stats Abfrage ist wie folgt:

/_stats
/_stats/{metrik}
/_stats/{metrik}/{indexMetrik}
/{index}/_stats
/{index}/_stats/{metrik}

Die Metriken sind:

indices, docs, store, indexing, search, get, merge, 
refresh, flush, warmer, filter_cache, id_cache, 
percolate, segments, fielddata, completion

Zu Übungszwecken habe ich ein kleines Elasticsearch-Plugin geschrieben, das die Funktionalität bietet, Elasticsearch-Indizes ohne weitere Informationen aufzulisten. Sie finden es unter folgender URL:

http://blog.iterativ.ch/2014/04/11/listindices-writing-your-first-elasticsearch-java-plugin/

https://github.com/iterativ/elasticsearch-listindices

30voto

themisterunknown Punkte 741

Ich benutze dies, um alle Indizes zu bekommen:

$ curl --silent 'http://127.0.0.1:9200/_cat/indices' | cut -d\  -f3

Mit dieser Liste kannst du arbeiten...

Beispiel

$ curl -s 'http://localhost:9200/_cat/indices' | head -5
green open qa-abcdefq_1458925279526           1 6       0     0   1008b    144b
green open qa-test_learnq_1460483735129    1 6       0     0   1008b    144b
green open qa-testimportd_1458925361399       1 6       0     0   1008b    144b
green open qa-test123p_reports                1 6 3868280 25605   5.9gb 870.5mb
green open qa-dan050216p_1462220967543        1 6       0     0   1008b    144b

Um die 3. Spalte oben zu bekommen (Namen der Indizes):

$ curl -s 'http://localhost:9200/_cat/indices' | head -5 | cut -d\  -f3
qa-abcdefq_1458925279526
qa-test_learnq_1460483735129
qa-testimportd_1458925361399
qa-test123p_reports
qa-dan050216p_1462220967543

HINWEIS: Du kannst auch awk '{print $3}' anstelle von cut -d\ -f3 verwenden.

Spaltenüberschriften

Du kannst auch die Abfrage mit einem ?v am Ende ergänzen, um eine Spaltenüberschrift hinzuzufügen. Wenn du dies tust, wird die Methode mit cut... nicht funktionieren, daher empfehle ich, die Auswahl mit awk.. zu verwenden.

$ curl -s 'http://localhost:9200/_cat/indices?v' | head -5
health status index                              pri rep docs.count docs.deleted store.size pri.store.size
green  open   qa-abcdefq_1458925279526             1   6          0            0      1008b           144b
green  open   qa-test_learnq_1460483735129      1   6          0            0      1008b           144b
green  open   qa-testimportd_1458925361399         1   6          0            0      1008b           144b
green  open   qa-test123p_reports                  1   6    3868280        25605      5.9gb        870.5mb

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