6

我正在尝试使用 Jest 检索索引列表,但我只知道:

Stats statistics = new Stats.Builder().build();
result = client.execute(statistics);

如何从结果中检索索引列表?我必须使用 Stats 以外的其他东西吗?如果有人可以向我展示 Jest 的详细文档,那也会有所帮助。基础知识确实有据可查,但是对于不同类型的构建器,我现在真的迷路了。

4

3 回答 3

4

Get Aliases 将为您提供节点上索引的所有别名。

于 2014-04-25T14:11:16.980 回答
4

只需将浏览器导航到以下 URL,即可获取 ElasticSearch 集群上可用的索引。

http://elasticsearch.company.com / _aliases

这将在 JSON 中返回一组索引及其别名。这是一个例子:

{
    "compute-devzone1": { },
    "compute-den2": { },
    "compute-den1": { },
    ...
}

要使用 Jest 获取索引列表,请使用此代码...

  HttpClientConfig config;
  JestClientFactory factory;
  JestClient client;
  GetAliases aliases;
  JestResult result;
  String json;

  config = new HttpClientConfig.
     Builder("http://elasticsearch.company.com").
     build();

  aliases = new GetAliases.
     Builder().
     build();

  factory = new JestClientFactory();

  factory.setHttpClientConfig(config);

  client = factory.getObject();
  result = client.execute(aliases);
  json   = result.getJsonString();

使用您最喜欢的 JSON 处理器从json.

于 2015-05-19T00:11:39.080 回答
1

利用:

JestResult result = elasticSearchClient.execute(new Cat.IndicesBuilder().build());

这将返回一个 JSON 响应,就像curl -XGET "localhost:9200/_cat/indices?format=json"

于 2018-09-07T12:52:34.860 回答