【问题标题】:How to get a List of Indices from ElasticSearch using Jest如何使用 Jest 从 ElasticSearch 获取索引列表
【发布时间】:2014-06-07 01:42:29
【问题描述】:

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

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

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

【问题讨论】:

  • 您在寻找索引名称的列表吗?还是指数统计数据?
  • 只是名称作为字符串列表。

标签: java elasticsearch elasticsearch-jest


【解决方案1】:

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

【讨论】:

  • 一个简短的例子会很好,因为除了代码之外没有真正的文档。但我还是让它工作了,所以谢谢你的时间。
  • 我从未使用过 Jest 并遇到过您遇到的类似问题。我想如果我提出请求,您将能够比我更快地弄清楚:P。
  • 这很公平;-)。如果太容易,那就太无聊了。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    用途:

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-01
      • 2015-11-02
      • 1970-01-01
      • 2021-12-24
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 2015-07-22
      相关资源
      最近更新 更多