ES elasticSearch几种客户端

ES目前有4种客户端:Jest client、Rest client、Transport client、Node client

Transport client、Node client都是通过9300端口,使用 Elasticsearch 的原生 传输 协议和集群交互。(集群交互的端口都是通过9300)

Transport client是不需要单独一个节点,脱离在集群之外。

Node client需要单独建立一个节点,连接该节点进行操作,该节点不能存储数据,也不能成为主节点。

Transport client(7.0弃用)

Node client(2.3弃用)

 

Jest:第三方客户端

使用广泛

ES集群使用不同的ES版本,使用原生ES API会有问题,而Jest不会;

<dependency>
<groupId>io.searchbox</groupId>
<artifactId>jest</artifactId>
<version>5.3.3</version>
</dependency>

 

ES提供了两个JAVA REST client 版本

Java Low Level REST Client: 低级别的REST客户端,通过http与集群交互,用户需自己编组请求JSON串,及解析响应JSON串。兼容所有ES版本
Java High Level REST Client: 高级别的REST客户端,基于低级别的REST客户端,增加了编组请求JSON串、解析响应JSON串等相关api。使用的版本需要保持和ES服务端的版本一致,否则会有版本问题。

<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>6.4.0</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>6.4.0</version>
</dependency>

JestClient兼容性优于其他两者,Java High Level REST Client设置了默认调优参数,若版本匹配,其性能会更加优秀。

posted @ 2021-04-06 10:20  wangssd  阅读(7518)  评论(0编辑  收藏  举报