Как получить список индексов из ElasticSearch с помощью Jest

Я пытаюсь получить список индексов с помощью Jest, но я только что дошел до:

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

Как я могу получить список индексов с результатом? Должен ли я использовать что-то еще, кроме статистики? Было бы также полезно, если бы кто-то мог показать мне подробную документацию шутки. Основы действительно хорошо документированы, но с различными типами строителей я действительно потерян на данный момент.

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.


использование:

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

это вернет ответ JSON так же, как curl -XGET "localhost:9200/_cat/indices?format=json"