ElasticSearch常用的Java客户端总体上,分为Java API Client和Java Rest Client
1.Java API Client
  • Java API Client默认连接的是9300端口,传输协议,依赖netty,tcp协议
  • Java API Client不同版本有兼容问题
  • Java API Client通过方法调用完成交互,有丰富的API
2.Java Rest Client
  • Java Rest Client默认连接的是9200端口,http协议
  • Java Rest Client不同版本没有兼容问题
  • Java Rest Client分为High和Low两种

Java Low Level Rest Client使用Apache HttpClient进行HTTP调用,简单封装了一下,需要自己处理请求和响应,还是面向HTTP请求的,API简单

Java High Level Rest Client基于Java Low Level Rest Client封装,提供了面向方法的API。同时请求参数和响应参数使用了elasticsearch定义的实体,方便从Java API Client迁移。

Java High Level Rest Client完成elasticsearch请求响应实体转换为Java Low Level Rest Client的请求响应。即解决了Java API Client兼容问题,又解决了Java Low Level Rest Client封装使用问题

3.连接方式

基于elastic7.5.2版本下的三种客户端的连接方式:

#Java API Client
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"), 9300));
#Java Rest Client 低级客户端
RestClient restClient = RestClient.builder(new HttpHost("localhost", 9200, "http")).build();
#Java Rest Client 高级客户端
RestHighLevelClient client =
new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http")));
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐