ElasticSearch-常用的几种Java客户端
程序员文章站
2022-07-01 15:29:52
...
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版本下的三种客户端的连接方式:
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new TransportAddress(InetAddress.getByName("localhost"), 9300));
RestClient restClient = RestClient.builder(new HttpHost("localhost", 9200, "http")).build();
RestHighLevelClient client =
new RestHighLevelClient(RestClient.builder(new HttpHost("localhost", 9200, "http")));