SpringBoot项目集成easy-es框架

集成easy-es后,也可使用es的RestHighLevelClient restHighLevelClient(easy-es本身是依赖于es原生的restHighLevelClient进行封装的)

1、项目中增加以下配置代码(com.xxx.**.esmapper修改为自己项目的路径):

java 复制代码
@Configuration
@ConditionalOnProperty(value = "easy-es.enable", havingValue = "true")
@EsMapperScan("com.xxx.**.esmapper")
public class EasyEsConfig {
}

2、yml文件中增加以下配置:

bash 复制代码
easy-es:
  # 是否开启EE自动配置
  enable: true
  # es连接地址+端口 格式必须为ip:port,如果是集群则可用逗号隔开
  address : 127.0.0.1:9200
  # 默认为http
  schema: http
  # 注意ES建议使用账号认证 不使用会报警告日志
  #如果无账号密码则可不配置此行
  #username:
  #如果无账号密码则可不配置此行
  #password:
  # 心跳策略时间 单位:ms
  keep-alive-millis: 18000
  # 连接超时时间 单位:ms
  connectTimeout: 5000
  # 通信超时时间 单位:ms
  socketTimeout: 5000
  # 请求超时时间 单位:ms
  requestTimeout: 5000
  # 连接请求超时时间 单位:ms
  connectionRequestTimeout: 5000
  # 最大连接数 单位:个
  maxConnTotal: 100
  # 最大连接路由数 单位:个
  maxConnPerRoute: 100
  global-config:
    # 开启控制台打印通过本框架生成的DSL语句,默认为开启,测试稳定后的生产环境建议关闭,以提升少量性能
    print-dsl: true
    # 异步处理索引是否阻塞主线程 默认阻塞 数据量过大时调整为非阻塞异步进行 项目启动更快
    asyncProcessIndexBlocking: true
    db-config:
      # 或 prod_, test_ 等
      table-prefix: dev_
      # 是否开启下划线转驼峰 默认为false
      map-underscore-to-camel-case: true
      # id生成策略 customize为自定义,id值由用户生成,比如取MySQL中的数据id,如缺省此项配置,则id默认策略为es自动生成
      id-type: customize
      # 字段更新策略 默认为not_null
      field-strategy: not_null
      # 默认开启,查询若指定了size超过1w条时也会自动开启,开启后查询所有匹配数据,若不开启,会导致无法获取数据总条数,其它功能不受影响.
      enable-track-total-hits: true
      # 数据刷新策略,默认为不刷新
      refresh-policy: immediate
      # 是否全局开启must查询类型转换为filter查询类型 默认为false不转换
      enable-must2-filter: false

3、maven的pom.xml文件中增加以下jar包依赖(因为使用的es版本较低,因此按照官网教程做了些兼容):

java 复制代码
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.10.2</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.10.2</version>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch-x-content</artifactId>
            <version>7.10.2</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.dromara.easy-es</groupId>
            <artifactId>easy-es-boot-starter</artifactId>
            <version>2.0.0-beta7</version>
            <exclusions>
                <exclusion>
                    <groupId>org.elasticsearch</groupId>
                    <artifactId>elasticsearch</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.elasticsearch.client</groupId>
                    <artifactId>elasticsearch-rest-high-level-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

4、在项目中增加一个esmapper的文件包用于放es相关的mapper(和第1步的路径对应)

相关推荐
却尘2 分钟前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare3 分钟前
浅浅看一下设计模式
前端
Lee川7 分钟前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
用户83071968408210 分钟前
Java IO三大模型(BIO/NIO/AIO)超详细总结
java
松涛和鸣10 分钟前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
sheji341610 分钟前
【开题答辩全过程】以 基于SSM的花店销售管理系统为例,包含答辩的问题和答案
java
Mr_sun.21 分钟前
Day09——入退管理-入住-2
android·java·开发语言
MAGICIAN...33 分钟前
【java-软件设计原则】
java·开发语言
Ticnix33 分钟前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts
纯爱掌门人37 分钟前
终焉轮回里,藏着 AI 与人类的答案
前端·人工智能·aigc