如何使用Jest从ElasticSearch获取指数列表

时间:2014-04-22 15:23:42

标签: java elasticsearch jest

我正在尝试使用Jest检索索引列表,但我得到了:

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

如何从结果中检索索引列表?我是否必须使用除Stats之外的其他内容? 如果有人可以向我展示Jest的详细文档,这也会有所帮助。基础知识确实有很好的记录,但是对于不同类型的构建者,我现在真的迷失了。

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

可以简单地将浏览器导航到以下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中提取索引。

答案 2 :(得分:1)

使用:

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

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