通过Java API列出所有可用的索引

Bas*_*nck 11 java elasticsearch

如何通过Java API获取所有可用索引的列表?

使用REST,它只是以下HTTP-Request:

http://XXX.XXX.XXX.XXX:9200/_aliases
Run Code Online (Sandbox Code Playgroud)

但为了保持一致性,通过Java API执行此操作会很不错.

Dan*_*ery 13

使用Java API和elasticsearch org.elasticsearch.client.Client类的等价物是:

 client.admin().cluster()
    .prepareState().execute()
    .actionGet().getState()
    .getMetaData().aliases();
Run Code Online (Sandbox Code Playgroud)

  • 以上答案不适用于1.4.4版本的ES版本而是使用以下内容.ObjectLookupContainer <String> mapAl = client.admin().cluster().prepareState().execute().actionGet().getState().getMetaData().indices().keys(); (4认同)
  • client.admin().indices().stats(new IndicesStatsRequest()).actionGet().getIndices().keySet()在1.4版本中工作 (4认同)
  • 这是因为别名和索引是两个不同的概念 (2认同)