标签:pid 用户 request tcl 基于 sys out maven throw
1、ES7版本变化
2、Maven依赖
连接客户端主要有Rest Low Level Client和Rest High Level Client两种可以使用,两者的主要区别在于:
Rest Low Level Client:低级别的REST客户端,通过http与集群交互,用户需自己编组请求JSON串,及解析响应JSON串。兼容所有ES版本。最小Java版本要求为1.7。
Rest High Level Client:高级别的REST客户端,基于低级别的REST客户端,增加了编组请求JSON串、解析响应JSON串等相关api。使用的版本需要保持和ES服务端的版本一致,否则会有版本问题。
我选择使用的是Rest High Level Client,在pom.xml中添加依赖(我使用的是ES7.4.2,所以这里使用同版本的client客户端):
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.4.2</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.4.2</version>
</dependency>
3、连接到集群
public static RestHighLevelClient getClient() {
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost",9200,"http")));
return client;
}
通过上面的代码就可以连接到集群,再通过获取已经建好的集群内的一个文档来看看是否连接成功。
public static void main(String args[]) throws IOException {
RestHighLevelClient client = getClient();
GetRequest getRequest = new GetRequest(
"news",
"1");
GetResponse getResponse=client.get(getRequest, RequestOptions.DEFAULT);
String index = getResponse.getIndex();
String id = getResponse.getId();
System.out.println(index);
System.out.println(id);
if (getResponse.isExists()) {
long version = getResponse.getVersion();
System.out.println(version);
String sourceAsString = getResponse.getSourceAsString();
System.out.println(sourceAsString);
Map<String, Object> sourceAsMap = getResponse.getSourceAsMap();
byte[] sourceAsBytes = getResponse.getSourceAsBytes();
} else {
System.out.println(false);
}
}
ES7.4 学习日记——Java REST Client :连接到集群
标签:pid 用户 request tcl 基于 sys out maven throw
原文地址:https://www.cnblogs.com/molihuacha/p/12051466.html