jestClient获取elasticsearch中所有索引。

如何在java程序中,通过jestClient获取es所有索引

在网上搜了半天,也没搜到结果,很久没写博客了,继续记录自己开发中的一些问题和一些心得吧。

我们都知道,直接获取es的所有索引是可以通过http交互的,例如:

curl -XGET http://localhost:port/_cat/indices?v

但是在java代码中我们可能也会遇到类似的需求:
1、获取所有的索引
2、通过索引获取所有types
这就相当于我们在结构化数据库中,想知道有哪些数据库,每个数据库有哪些表结构一样。

研究源码后发现有这样一个类:
jestClient获取elasticsearch中所有索引。
并且该类继承了AbstractAction,而我们的jestClient.execute中的参数就是一个Action。
因此代码如下:

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

能够成功获取所有的索引。