前言
今天交付 ES 管理平台,因为 ES 有两套集群,分别是5.x 和 6.x 为了代码的通用性,需要把 Transport Client 的相关操作全部废弃,改为直接调用 rest api
准备工作
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
<dependency>
<groupId>com.arronlong</groupId>
<artifactId>httpclientutil</artifactId>
<version>1.0.4</version>
</dependency>
<!-- 工具集-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.8</version>
</dependency>
相关操作
1.根据ip地址获取所有索引
/**
* 获取所有索引index
* @param ip
* @return
*/
public static List<IndexInfo> getAllIndex(String ip) {
HttpConfig config = HttpConfig.custom().url("http://"+ip+":9200/_cat/indices?format=json&pretty");
String jsonStr = null;
try {
jsonStr = HttpClientUtil.get(config);
} catch (HttpProcessException e) {
e.printStackTrace();
return null;
}
JSONArray jsonArray = JSONUtil.parseArray(jsonStr);
List<IndexInfo> list = new ArrayList<>();
List<Map> maps = jsonArray.toList(Map.class);
for(Map map : maps) {
IndexInfo index = new IndexInfo();
index.setHealth ((String)map.get("health"));
index.setStatus ((String)map.get("status"));
index.setIndex ((String)map.get("index"));</

最低0.47元/天 解锁文章
927

被折叠的 条评论
为什么被折叠?



