Gostaria de listar todos os índices presentes num servidor ElasticSearch. Eu tentei isto:
curl -XGET localhost:9200/
mas só me dá isto:
{
"ok" : true,
"status" : 200,
"name" : "El Aguila",
"version" : {
"number" : "0.19.3",
"snapshot_build" : false
},
"tagline" : "You Know, for Search"
}
Quero uma lista de todos os índices...
Para uma lista concisa de todos os índices do seu cluster, ligue
curl http://localhost:9200/_aliases
isto dar-lhe-á uma lista de índices e os seus pseudónimos.
Se o quiser bem impresso, acrescente pretty=true
:
curl http://localhost:9200/_aliases?pretty=true
O resultado será algo parecido com isto, se os seus índices se chamarem "old_deuteronomy" e "commungojerrie":
{
"old_deuteronomy" : {
"aliases" : { }
},
"mungojerrie" : {
"aliases" : {
"rumpleteazer" : { },
"that_horrible_cat" : { }
}
}
}
Pode consultar localhost:9200/_status
e isso dar-lhe-á uma lista de índices e informações sobre cada um deles. A resposta será algo parecido com isto:
{
"ok" : true,
"_shards" : { ... },
"indices" : {
"my_index" : { ... },
"another_index" : { ... }
}
}
O comando _stats fornece formas de personalizar os resultados especificando as métricas desejadas. Para obter os índices, a consulta é a seguinte:
GET /_stats/indices
O formato geral da consulta `_estatística' é:
/_stats
/_stats/{metric}
/_stats/{metric}/{indexMetric}
/{index}/_stats
/{index}/_stats/{metric}
Onde se encontram as métricas:
indices, docs, store, indexing, search, get, merge,
refresh, flush, warmer, filter_cache, id_cache,
percolate, segments, fielddata, completion
Como exercício para mim próprio, I'escrevi um pequeno plugin de pesquisa elástica fornecendo a funcionalidade de listar índices de pesquisa elástica sem qualquer outra informação. Pode encontrá-lo na seguinte url:
http://blog.iterativ.ch/2014/04/11/listindices-writing-your-first-elasticsearch-java-plugin/