Me gustaría listar todos los índices presentes en un servidor ElasticSearch. He intentado esto:
curl -XGET localhost:9200/
pero sólo me da esto:
{
"ok" : true,
"status" : 200,
"name" : "El Aguila",
"version" : {
"number" : "0.19.3",
"snapshot_build" : false
},
"tagline" : "You Know, for Search"
}
Quiero una lista de todos los índices..
Para obtener una lista concisa de todos los índices de su clúster, llame a
curl http://localhost:9200/_aliases
esto le dará una lista de índices y sus alias.
Si quieres que se imprima bonito, añade pretty=true
:
curl http://localhost:9200/_aliases?pretty=true
El resultado será algo así, si sus índices se llaman antiguo_deuteronomio
y mungojerrie
:
{
"old_deuteronomy" : {
"aliases" : { }
},
"mungojerrie" : {
"aliases" : {
"rumpleteazer" : { },
"that_horrible_cat" : { }
}
}
}
Puedes consultar localhost:9200/_status
y eso te dará una lista de índices e información sobre cada uno. La respuesta será algo así:
{
"ok" : true,
"_shards" : { ... },
"indices" : {
"my_index" : { ... },
"another_index" : { ... }
}
}
El comando _stats proporciona formas de personalizar los resultados especificando las métricas deseadas. Para obtener los índices la consulta es la siguiente:
GET /_stats/indices
El formato general de la consulta _stats
es:
/_stats
/_stats/{metric}
/_stats/{metric}/{indexMetric}
/{index}/_stats
/{index}/_stats/{metric}
Donde las métricas son:
indices, docs, store, indexing, search, get, merge,
refresh, flush, warmer, filter_cache, id_cache,
percolate, segments, fielddata, completion
Como ejercicio para mí mismo, he escrito un pequeño plugin para elasticsearch que proporciona la funcionalidad de listar los índices de elasticsearch sin ninguna otra información. Puedes encontrarlo en la siguiente url:
http://blog.iterativ.ch/2014/04/11/listindices-writing-your-first-elasticsearch-java-plugin/