Bir ElasticSearch sunucusunda bulunan tüm dizinleri listelemek istiyorum. Bunu denedim:
curl -XGET localhost:9200/
ama bana sadece bunu veriyor:
{
"ok" : true,
"status" : 200,
"name" : "El Aguila",
"version" : {
"number" : "0.19.3",
"snapshot_build" : false
},
"tagline" : "You Know, for Search"
}
Tüm dizinlerin bir listesini istiyorum..
Kümenizdeki tüm dizinlerin kısa bir listesi için
curl http://localhost:9200/_aliases
bu size indekslerin ve takma adlarının bir listesini verecektir.
Eğer güzel basılmasını istiyorsanız, pretty=true
ekleyin:
curl http://localhost:9200/_aliases?pretty=true
Eğer indekslerinizin adı old_deuteronomy
ve mungojerrie
ise sonuç şöyle görünecektir:
{
"old_deuteronomy" : {
"aliases" : { }
},
"mungojerrie" : {
"aliases" : {
"rumpleteazer" : { },
"that_horrible_cat" : { }
}
}
}
localhost:9200/_status` adresini sorgulayabilirsiniz ve bu size indekslerin bir listesini ve her biri hakkında bilgi verecektir. Yanıt şuna benzer bir şeye benzeyecektir:
{
"ok" : true,
"_shards" : { ... },
"indices" : {
"my_index" : { ... },
"another_index" : { ... }
}
}
_stats komutu, istenen metrikleri belirterek sonuçları özelleştirmenin yollarını sağlar. İndeksleri almak için sorgu aşağıdaki gibidir:
GET /_stats/indices
Genel _stats
sorgusu biçimi şöyledir:
/_stats
/_stats/{metric}
/_stats/{metric}/{indexMetric}
/{index}/_stats
/{index}/_stats/{metric}
Ölçümler nerede:
indices, docs, store, indexing, search, get, merge,
refresh, flush, warmer, filter_cache, id_cache,
percolate, segments, fielddata, completion
Kendime bir alıştırma olarak, elasticsearch indekslerini başka herhangi bir bilgi olmadan listeleme işlevselliği sağlayan küçük bir elasticsearch eklentisi yazdım. Aşağıdaki url'de bulabilirsiniz:
http://blog.iterativ.ch/2014/04/11/listindices-writing-your-first-elasticsearch-java-plugin/