ElasticSearch的client

在 Elasticsearch 中,有几种不同类型的客户端可以用来与 Elasticsearch 集群进行交互。这些客户端包括:

  1. Transport Client:Transport Client 是基于 Java 的客户端,用于与 Elasticsearch 集群进行通信。然而,它已经在 Elasticsearch 7.0 版本中被废弃,不再推荐使用。

  2. High Level REST Client:High Level REST Client 是一个基于 RESTful API 的客户端,提供了更简单、更直观的接口来与 Elasticsearch 集群进行交互。它是目前推荐使用的客户端之一,适用于大多数的应用场景。

  3. Low Level REST Client:Low Level REST Client 也是基于 RESTful API 的客户端,提供了更底层的接口来与 Elasticsearch 集群进行交互。虽然它的使用相对复杂,但在一些特定的场景下仍然可以使用。

总的来说,High Level REST Client 是目前推荐使用的客户端,而 Transport Client 已经被废弃不建议使用。

下面是gradle依赖,示例版本为6.4.3.

api "org.elasticsearch:elasticsearch:6.4.3"
api "org.elasticsearch.client:elasticsearch-rest-client:6.4.3"
api "org.elasticsearch.client:elasticsearch-rest-high-level-client:6.4.3"

api "org.elasticsearch.client:transport:6.4.3"
api "org.springframework.boot:spring-data-elasticsearch"

1、elasticsearch:6.4.3 包含TransportClient、NodeClient等客户端,其中TransportClient对于查询dsl有以QueryBuilder接口为基础的大量面向对象封装,底层使用tcp协议连接es服务器,但这个客户端已逐渐被废弃。


“关于TransportClient,elastic计划在Elasticsearch 7.0中弃用TransportClient,并在8.0中完全删除它”。


该模块被transport:6.4.3依赖,也被早期的spring-data-elasticsearch依赖。
 
2、transport:6.4.3 里仅仅包含一个类PreBuiltTransportClient,它是TransportClient的子类,拥有自动嗅探功能,可以通过任意节点地址,或者集群名,自动搜索所有节点信息,省略初始化时的集群信息设置。也跟着它爹一起逐渐被废弃。
 
3、elasticsearch-rest-client:6.4.3,低级客户端【es官方推荐】,一个简易的http连接es服务器的客户端,对于创建索引、查询等dsl没有面向对象封装,示例:

RestClient restClient = RestClient.builder(new HttpHost("localhost", 9200)).build();
// 获取id为1的文档
Request request = new Request("GET", "/some_index/1");   
Response response = restClient.performRequest(request);


该模块被elasticsearch-rest-high-level-client:6.4.3依赖。
 4、elasticsearch-rest-high-level-client:6.4.3,高级客户端【es官方推荐】,依赖于低级客户端elasticsearch-rest-client和elasticsearch两个模块,使用面向对象的方式来形成dsl,和TransportClient不同的是,它是通过低级客户端的http协议和es服务器来交互。
 
5、spring-data-elasticsearch:spring封装的es,使用ElasticTemplate以及@Document、@Field等注解,在创建索引的方式上也实现了面向对象设计。而ElasticsearchCrudRepository的设计让es的增删改查像数据库一样简单。封装程度非常之高。
 在spring-data-elasticsearch 4.0之前,spring底层使用TransportClient,4.0之后升级到es7.6.2,弃用了TransportClient

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值