Как получить список индексов из 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"