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步的路径对应)

相关推荐
Sheep Shaun1 分钟前
深入理解AVL树:从概念到完整C++实现详解
服务器·开发语言·数据结构·c++·后端·算法
帆张芳显2 分钟前
智表zcell产品V3.5 版发布,新增行列选中操作等功能
前端·javascript·excel·插件·canva可画
leiming62 分钟前
C语言联合体union的用法(非常详细,附带示例)
java·python·算法
颢珂智库Haokir Insights3 分钟前
如何把 MCP 接入到文档 / Issue / CI,形成可复用的工程外脑
服务器·人工智能·ai编程·vllm·vibecoding
程序员小寒4 分钟前
前端性能优化之首屏时间采集篇
前端·性能优化
a程序小傲4 分钟前
Maven 4 要来了:15 年后,Java 构建工具迎来“彻底重构”
java·开发语言·spring boot·后端·spring·重构·maven
GGGG寄了5 分钟前
HTML——div和span标签和字符实体
前端·html
牧小七10 分钟前
java Records 怎么使用
java
这儿有一堆花15 分钟前
网页开发的基石:深入解析 HTML 与 PHP 的本质差异
前端·html·php
RFCEO16 分钟前
网页编程 课程三、:HTML 核心规范(语义化+易维护)详解课程
前端·html·语义化·html核心规范·易维护·前端基础课