springboot ElasticSearch依赖怎么选

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里主要时教会大家怎么选择依赖

本文主要的目的时为了教大家怎么选择ElasticSearch的相关maven依赖包,废话不多说,直接开发


提示:以下是本篇文章正文内容,下面案例可供参考

一、常见的ES依赖包

关于springboot和es直接的版本关系,请看我上一篇:
Springboot中使用ElasticSearch 这里我就不过多赘述了


<properties>
    <java.version>1.8</java.version>
    <elastic.version>7.15.0</elastic.version>
</properties>

<dependency>
     <groupId>org.elasticsearch</groupId>
     <artifactId>elasticsearch</artifactId>
     <version>${es.version}</version>
 </dependency>

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-client</artifactId>
    <version>${elastic.version}</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-elasticsearch</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>${elastic.version}</version>
    <exclusions>
        <exclusion>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
        </exclusion>
    </exclusions>
</dependency>

二、该怎么选

Elasticsearch:

Elasticsearch是一个开源搜索引擎,提供全文搜索、结构化搜索、分析等功能。Elasticsearch本身包括Java
API,可以直接使用来与Elasticsearch进行交互,但是这种方式需要编写大量的代码。

优点:该客户端提供了与Elasticsearch交互的底层API,允许开发人员以更细粒度的方式控制Elasticsearch连接和操作。
缺点:由于它是一个低级别的API,因此使用起来可能比较复杂。对于初学者而言,可能会比较困难。

Elasticsearch Rest Client:

Elasticsearch Rest Client是一个轻量级的Java客户端,通过http协议与Elasticsearch进行通信。它可以基于低级别的Restful API与Elasticsearch进行通信,支持各种HTTP请求操作,例如GET、POST、PUT、DELETE等。它的使用难度较低,但是需要手动处理序列化和反序列化等操作。

优点:该客户端提供了与Elasticsearch REST API进行通信的REST客户端。由于它基于HTTP协议,所以可以轻松地与任何使用HTTP协议的系统进行集成。
缺点:性能相对于Java API低。

Elasticsearch Rest High Level Client:

Elasticsearch Rest High Level Client是在Elasticsearch Rest
Client基础上进行了封装,提供了更加简单易用的高级别API。它提供了一组面向对象的API,可以更加方便地构建查询语句、执行搜索、聚合操作等。同时,它也自动处理了序列化和反序列化,使用方便。

优点:该客户端提供了更丰富、更易用的功能,抽象了底层REST客户端,提供了更高级别的API。
缺点:性能相对于Java API低。

Spring Boot Starter Data Elasticsearch:

Spring Boot Starter Data Elasticsearch 是 Spring Boot 提供的一个
Elasticsearch 自动配置启动器,它为 Spring 应用程序引入 Elasticsearch 相关的依赖和配置,简化了与
Elasticsearch 的集成过程。该启动器还提供了 ElasticsearchTemplate 和
ElasticsearchRepository 等组件,方便开发者调用 Elasticsearch 的 CRUD 操作。

优点:
该包提供了一个简单而强大的方式来集成Elasticsearch到Spring Boot应用程序中。

缺点:
由于它只是一个Starter(启动器),因此它可能无法满足所有需求。对于需要更多控制的开发人员而言,
直接使用Elasticsearch Java客户端可能更合适。后续升级ES也比较麻烦.

总结

因此,如果你想要一个充满强大搜索能力的搜索引擎,那么你应该选择Elasticsearch。如果你想要使用Java与Elasticsearch进行通信,而又不想花费太多时间去编写代码,那么你应该选择Elasticsearch Rest Client。如果你需要更方便的API,提高开发效率,同时又想要充分利用Elasticsearch的搜索能力,那么你应该选择Elasticsearch Rest High Level Client,Spring Boot Starter Data Elasticsearch 的核心组件是 ElasticsearchTemplate 和 ElasticsearchRepository,它们为开发者提供了方便、快捷的 Elasticsearch 数据操作方式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值