Daftar semua indeks pada ElasticSearch server?

Saya ingin daftar semua indeks hadir pada ElasticSearch server. Saya mencoba ini:

curl -XGET localhost:9200/

tapi itu hanya memberi saya ini:

{
  "ok" : true,
  "status" : 200,
  "name" : "El Aguila",
  "version" : {
    "number" : "0.19.3",
    "snapshot_build" : false
  },
  "tagline" : "You Know, for Search"
}

Saya ingin daftar semua indeks..

Larutan

Untuk daftar ringkas dari semua indeks dalam cluster, panggilan

curl http://localhost:9200/_aliases

ini akan memberikan anda sebuah daftar indeks dan alias-aliasnya.

Jika anda ingin cantik-dicetak, tambahkan cukup=true:

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

Hasilnya akan terlihat seperti ini, jika indeks yang disebut old_deuteronomy dan mungojerrie:

{
  "old_deuteronomy" : {
    "aliases" : { }
  },
  "mungojerrie" : {
    "aliases" : {
      "rumpleteazer" : { },
      "that_horrible_cat" : { }
    }
  }
}
Komentar (4)

Mencoba

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

Saya akan memberikan anda berikut cukup jelas output dalam bentuk tabel-cara

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

Anda dapat query localhost:9200/_status pada dan itu akan memberikan anda sebuah daftar indeks dan informasi tentang masing-masing. Respon akan terlihat seperti ini:

{
  "ok" : true,
  "_shards" : { ... },
  "indices" : {
    "my_index" : { ... },
    "another_index" : { ... }
  }
}
Komentar (5)

Yang _stats perintah menyediakan cara untuk menyesuaikan hasil dengan menentukan metrik berharap. Untuk mendapatkan indeks query adalah sebagai berikut:

GET /_stats/indices

Format umum dari _stats query ini:

/_stats
/_stats/{metric}
/_stats/{metric}/{indexMetric}
/{index}/_stats
/{index}/_stats/{metric}

Di mana metrik adalah:

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

Sebagai exercice untuk diriku sendiri, aku've tertulis kecil elasticsearch plugin yang menyediakan fungsi untuk daftar elasticsearch indeks tanpa informasi lainnya. Anda dapat menemukan ini di url berikut:

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

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

Komentar (2)

Saya menggunakan ini untuk mendapatkan semua indeks:

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

Dengan daftar ini, anda dapat bekerja pada...

Contoh

$ 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

Untuk mendapatkan ke-3 kolom di atas (nama-nama indeks):

$ 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

CATATAN: Anda juga dapat menggunakan awk '{print $3}' bukan cut-d\ -f3.

Header Kolom

Anda juga dapat akhiran query dengan ?v untuk menambahkan header kolom. Melakukan hal ini akan mematahkan, memotong,...metode sehingga saya'd sarankan menggunakanawk..` pilihan pada saat ini.

$ 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
Komentar (2)

Saya juga akan merekomendasikan melakukan /_cat/indeks yang memberikan bagus yang dapat dibaca manusia daftar indeks.

Komentar (0)

curl -XGET 'http://localhost:9200/_cluster/health?level=indices'

Ini akan output seperti di bawah ini

{
  "cluster_name": "XXXXXX:name",
  "status": "green",
  "timed_out": false,
  "number_of_nodes": 3,
  "number_of_data_nodes": 3,
  "active_primary_shards": 199,
  "active_shards": 398,
  "relocating_shards": 0,
  "initializing_shards": 0,
  "unassigned_shards": 0,
  "delayed_unassigned_shards": 0,
  "number_of_pending_tasks": 0,
  "number_of_in_flight_fetch": 0,
  "task_max_waiting_in_queue_millis": 0,
  "active_shards_percent_as_number": 100,
  "indices": {
    "logstash-2017.06.19": {
      "status": "green",
      "number_of_shards": 3,
      "number_of_replicas": 1,
      "active_primary_shards": 3,
      "active_shards": 6,
      "relocating_shards": 0,
      "initializing_shards": 0,
      "unassigned_shards": 0
    },
    "logstash-2017.06.18": {
      "status": "green",
      "number_of_shards": 3,
      "number_of_replicas": 1,
      "active_primary_shards": 3,
      "active_shards": 6,
      "relocating_shards": 0,
      "initializing_shards": 0,
      "unassigned_shards": 0
    }}
Komentar (2)

Cara paling sederhana untuk mendapatkan daftar indeks adalah untuk menggunakan jawaban di atas, dengan 'h=index' parameter:

curl -XGET "localhost:9200/_cat/indices?h=index"
Komentar (0)

I'll memberikan query yang dapat anda jalankan di kibana.

GET /_cat/indices?v

dan CURL versi akan

CURL -XGET http://localhost:9200/_cat/indices?v
Komentar (0)

_stats/indeks memberikan hasil dengan indeks.

$ curl -XGET "localhost:9200/_stats/indices?pretty=true"
{
  "_shards" : {
    "total" : 10,
    "successful" : 5,
    "failed" : 0
  },
  "_all" : {
    "primaries" : { },
    "total" : { }
  },
  "indices" : {
    "visitors" : {
      "primaries" : { },
      "total" : { }
    }
  }
}
Komentar (0)

Orang-orang di sini telah menjawab bagaimana melakukannya di curl dan rasa, beberapa orang mungkin perlu untuk melakukan hal ini di pulau jawa.

Di sini ia pergi

client.admin().indices().stats(new IndicesStatsRequest()).actionGet().getIndices().keySet()
Komentar (0)

Mencoba kucing ini API: akan memberikan anda daftar semua indeks dengan kesehatan dan rincian lainnya.

CURL -XGET http://localhost:9200/_cat/indices

Komentar (0)

    org.elasticsearch
    elasticsearch
    2.4.0

Java API

Settings settings = Settings.settingsBuilder().put("cluster.name", Consts.ES_CLUSTER_NAME).build();
TransportClient client = TransportClient.builder().settings(settings).build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("52.43.207.11"), 9300));
IndicesAdminClient indicesAdminClient = client.admin().indices();
GetIndexResponse getIndexResponse = indicesAdminClient.getIndex(new GetIndexRequest()).get();
for (String index : getIndexResponse.getIndices()) {
    logger.info("[index:" + index + "]");
}
Komentar (1)

Saya menggunakan _stats/indeks akhir untuk mendapatkan json blob data dan kemudian menyaring dengan jq.

curl 'localhost:9200/_stats/indexes' | jq '.indices | keys | .[]'

"admin"
"blazeds"
"cgi-bin"
"contacts_v1"
"flex2gateway"
"formmail"
"formmail.pl"
"gw"
...

Jika anda don't ingin mengutip, tambahkan -r bendera untuk jq.

Ya, akhir adalah indeks dan data kunci indeks, sehingga mereka tidak't membuat pikiran mereka baik :)

Aku membutuhkan ini untuk membersihkan sampah ini indeks yang dibuat oleh internal security scan (pergi).

PS. Saya sangat merekomendasikan mendapatkan akrab dengan jq jika anda're akan berinteraksi dengan ES dari baris perintah.

Komentar (0)

Saya telah Kibana dan ES diinstal pada mesin. Tapi saya tidak tahu detailnya(di jalan apa, atau port) adalah ES node pada mesin itu.

Jadi bagaimana anda bisa melakukan ini dari Kibana (versi 5.6)?

  • Pergi ke Dev Tools
  • Lihat Console bagian, dan menjalankan query berikut:

MENDAPATKAN _cat/indeks

Saya tertarik dalam menemukan ukuran tertentu ES indeks

Komentar (0)
You may use this command line.

curl -X MENDAPATKAN "localhost:9200/_cat/indeks?v"

Lebih (Elasticsearch situs Resmi)

Komentar (0)
You can also get specific index using 

curl -X GET "localhost:9200/"
e.g.   curl -X GET "localhost:9200/twitter"
You may get output like:
{
  "twitter": {
     "aliases": { 

     },
     "mappings": { 

     },
     "settings": {
     "index": {
        "creation_date": "1540797250479",
        "number_of_shards": "3",
        "number_of_replicas": "2",
        "uuid": "CHYecky8Q-ijsoJbpXP95w",
        "version": {
            "created": "6040299"
        },
       "provided_name": "twitter"
      }
    }
  }
}
For more info [https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html][1]
Komentar (0)

anda dapat mencoba perintah ini

curl -X MENDAPATKAN http://localhost:9200/_cat/indices?v

Komentar (1)

Untuk Elasticsearch 6.X, saya menemukan berikut yang paling bermanfaat. Masing-masing memberikan data yang berbeda dalam respon.

``

lebih verbose

curl -sS 'localhost:9200/_stats' | jq -C ".indeks" | kurang

kurang verbose, ringkasan

curl -sS 'localhost:9200/_cluster/kesehatan?tingkat=indeks' | jq -C ".indeks" | kurang ``

Komentar (0)

Untuk daftar indeks yang dapat anda lakukan : curl 'localhost:9200/_cat/indeks?v' Elasticsearch Dokumentasi

Komentar (0)