How to get a List of Indices from ElasticSearch using Jest
One can simply navigate a browser to the following URL to get the indexes available on an ElasticSearch cluster.
http://elasticsearch.company.com/_aliases
This will return an array of indexes and their aliases in JSON. Here's an example:
{ "compute-devzone1": { }, "compute-den2": { }, "compute-den1": { }, ...}
To get the list of indexes with Jest, use this code...
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();
Use your favorite JSON processor to extract the indexes from json
.
Use:
JestResult result = elasticSearchClient.execute(new Cat.IndicesBuilder().build());
This will return a JSON response just like curl -XGET "localhost:9200/_cat/indices?format=json"