Gostaria de listar todos os índices presentes em um servidor ElasticSearch. Eu tentei isso:
curl -XGET localhost:9200/
mas isso me dá o seguinte:
{
"ok" : true,
"status" : 200,
"name" : "El Aguila",
"version" : {
"number" : "0.19.3",
"snapshot_build" : false
},
"tagline" : "You Know, for Search"
}
Eu quero uma lista de todos os índices ..
curl
elasticsearch
Eva
fonte
fonte
curl http://localhost:9200/_stats/indexes\?pretty\=1
curl -s localhost:9200/_aliases?pretty=true | awk -F\" '!/aliases/ && $2 != "" {print $2}'
/stats
terminal ou no terminal de integridade com param_cluster/health?level=indices
Experimentar
Ele fornecerá os seguintes resultados auto-explicativos de maneira tabular
fonte
Você pode consultar
localhost:9200/_status
e isso fornecerá uma lista de índices e informações sobre cada um. A resposta será mais ou menos assim:fonte
GET /_stats/indexes
/_stats/indices
pois é o plural correto e também a chave usada dentro/_status
e dentro/_stats
._nodes/stats
e_nodes/status
@KimberlyWO comando _stats fornece maneiras de personalizar os resultados especificando as métricas desejadas. Para obter os índices, a consulta é a seguinte:
O formato geral da
_stats
consulta é:Onde estão as métricas:
Como exercício, escrevi um pequeno plug-in elasticsearch que fornece a funcionalidade de listar índices de elasticsearch sem nenhuma outra informação. Você pode encontrá-lo no seguinte URL:
http://blog.iterativ.ch/2014/04/11/listindices-writing-your-first-elasticsearch-java-plugin/
https://github.com/iterativ/elasticsearch-listindices
fonte
"type": "illegal_argument_exception", "reason": "request [/_stats/indices] contains unrecognized metric: [indices]"
Eu uso isso para obter todos os índices:
Com esta lista, você pode trabalhar em ...
Exemplo
Para obter a 3ª coluna acima (nomes dos índices):
NOTA: Você também pode usar em
awk '{print $3}'
vez decut -d\ -f3
.Cabeçalhos de coluna
Você também pode sufocar a consulta com a
?v
para adicionar um cabeçalho de coluna. Fazer isso quebrará ocut...
método, então eu recomendo usar aawk..
seleção neste momento.fonte
curl -s 'http://localhost:9200/_cat/indices?h=index'
imprimirá apenas o nome do índice. Não há necessidade de usar truques de shell para filtrar a coluna.tr -s ' '
antescut
para condensar execuções de espaços) ou também não obterá o nome do índice se o status forred
porque será preenchido com espaços ecut
tratará cada espaço individualmente como delimitador um novo campo, mesmo se esse "campo" acaba vazioEu também recomendaria o / _cat / indices, que fornece uma boa lista legível por humanos dos seus índices.
fonte
A maneira mais simples de obter uma lista apenas de índices é usar a resposta acima, com o parâmetro 'h = index':
fonte
curl -XGET 'http://localhost:9200/_cluster/health?level=indices'
Isso será exibido como abaixo
fonte
Vou lhe dar a consulta que você pode executar no kibana.
e a versão CURL será
fonte
Para mais (site oficial da Elasticsearch)
fonte
Para listar os índices que você pode fazer: curl 'localhost: 9200 / _cat / indices? V' Elasticsearch Documentation
fonte
Acessando a pesquisa elástica protegida por curl (atualização 2020)
Se o
Elastic Search
estiver protegido, você pode usar este comando para listar índicesfonte
_stats/indices
dá o resultado comindices
.fonte
As pessoas aqui responderam como fazê-lo em curl e sentido, algumas pessoas podem precisar fazer isso em java.
Aqui vai
fonte
Experimente esta API cat: ela fornecerá a lista de todos os índices com integridade e outros detalhes.
CURL -XGET http: // localhost: 9200 / _cat / índices
fonte
Para o Elasticsearch 6.X, achei o seguinte o mais útil. Cada um fornece dados diferentes na resposta.
fonte
Você também pode obter um índice específico usando
Para mais informações
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-index.html
fonte
aqui está outra maneira apenas de ver os índices no banco de dados:
fonte
Uma das melhores maneiras de listar índices + para exibir seu status junto com list: é simplesmente executando a consulta abaixo.
Nota: use de preferência o Sense para obter a saída adequada.
A saída da amostra é como abaixo. A principal vantagem é que, basicamente, mostra o nome do índice e os shards em que ele foi salvo, o tamanho do índice e o IP dos shards, etc.
fonte
Eu uso o
_stats/indexes
ponto de extremidade para obter um blob json de dados e depois filtrar com jq .Se você não quiser aspas, adicione um
-r
sinalizador ao jq.Sim, o ponto final é
indexes
e a chave de dados éindices
, então eles também não se decidiram :)Eu precisava disso para limpar esses índices de lixo criados por uma verificação de segurança interna (nessus).
PS. Eu recomendo que você se familiarize com o jq se quiser interagir com o ES na linha de comando.
fonte
API Java
fonte
Se você estiver trabalhando no scala, uma maneira de fazer isso e usar
Future
é criar um RequestExecutor, use o IndicesStatsRequestBuilder e o cliente administrativo para enviar sua solicitação.O executor é retirado desta postagem do blog, que é definitivamente uma boa leitura, se você estiver tentando consultar o ES de forma programática e não através de curl. Se você tiver isso, poderá criar uma lista de todos os índices facilmente, assim:
client
é uma instância do cliente que pode ser um nó ou um cliente de transporte, conforme a sua necessidade. Você também precisará ter umExecutionContext
escopo implícito para esta solicitação. Se você tentar compilar esse código sem ele, receberá um aviso do compilador scala sobre como obtê-lo se ainda não tiver um importado.Eu precisava da contagem de documentos, mas se você realmente precisar apenas dos nomes dos índices, poderá extraí-los das chaves do mapa em vez de
IndexStats
:Essa pergunta aparece quando você está pesquisando como fazer isso, mesmo que esteja tentando fazer isso programaticamente, por isso espero que ajude quem quiser fazer isso no scala / java. Caso contrário, os usuários de curl podem fazer o que a resposta principal diz e usar
fonte
você pode tentar este comando
curl -X GET http: // localhost: 9200 / _cat / índices? v
fonte
Eu tinha o Kibana e o ES instalados em uma máquina. Mas eu não sabia os detalhes (em que caminho ou porta) era o nó ES nessa máquina.
Então, como você pode fazer isso no Kibana (versão 5.6)?
GET _cat/indices
Eu estava interessado em encontrar o tamanho de um índice ES específico
fonte
Se você tiver o curl instalado em seu sistema, tente este comando simples: curl -XGET xx.xx.xx.xx: 9200 / _cat / indices? V
O comando acima mencionado fornece o resultado neste formato: result para buscar todos os índices
fonte