Elasticsearch使用Java客户端查找所有索引

Mik*_*der 9 java elasticsearch

有没有办法使用Java客户端获取Elasticsearch中的索引列表?我已经能够找到使用Marvel/Sense执行此操作的示例,但我似乎无法找到使用Java客户端执行此操作的任何示例.

Val*_*Val 14

这绝对是可能的,但遗憾的是,在Java客户端的官方文档中没有记录.你可以用:

List<IndexMetaData> indices = client.admin().cluster()
    .prepareState().get().getState()
    .getMetaData().getIndices();
Run Code Online (Sandbox Code Playgroud)


Mik*_*der 12

我发现这样做的另一种方式:

client.admin()
    .indices()
    .getIndex(new GetIndexRequest())
    .actionGet()
    .getIndices()
Run Code Online (Sandbox Code Playgroud)

  • 如果其他人到达这里并且想知道,这个会返回一个String [],这可能更容易处理. (3认同)

小智 5

Elasticsearch 6.5,RestHighLevelClient:

ClusterHealthRequest request = new ClusterHealthRequest();
ClusterHealthResponse response = client.cluster().health(request, RequestOptions.DEFAULT);
Set<String> indices = response.getIndices().keySet();
Run Code Online (Sandbox Code Playgroud)