SpringBoot项目集成easy-es框架
集成easy-es后,也可使用es的RestHighLevelClient restHighLevelClient(easy-es本身是依赖于es原生的restHighLevelClient进行封装的)
1、项目中增加以下配置代码(com.xxx.**.esmapper修改为自己项目的路径):
@Configuration
@ConditionalOnProperty(value = "easy-es.enable", havingValue = "true")
@EsMapperScan("com.xxx.**.esmapper")
public class EasyEsConfig {
}2、yml文件中增加以下配置:
easy-es:# 是否开启EE自动配置enable: true# es连接地址+端口 格式必须为ip:port,如果是集群则可用逗号隔开address : 127.0.0.1:9200# 默认为httpschema: http# 注意ES建议使用账号认证 不使用会报警告日志#如果无账号密码则可不配置此行#username:#如果无账号密码则可不配置此行#password:# 心跳策略时间 单位:mskeep-alive-millis: 18000# 连接超时时间 单位:msconnectTimeout: 5000# 通信超时时间 单位:mssocketTimeout: 5000# 请求超时时间 单位:msrequestTimeout: 5000# 连接请求超时时间 单位:msconnectionRequestTimeout: 5000# 最大连接数 单位:个maxConnTotal: 100# 最大连接路由数 单位:个maxConnPerRoute: 100global-config:# 开启控制台打印通过本框架生成的DSL语句,默认为开启,测试稳定后的生产环境建议关闭,以提升少量性能print-dsl: true# 异步处理索引是否阻塞主线程 默认阻塞 数据量过大时调整为非阻塞异步进行 项目启动更快asyncProcessIndexBlocking: truedb-config:# 或 prod_, test_ 等table-prefix: dev_# 是否开启下划线转驼峰 默认为falsemap-underscore-to-camel-case: true# id生成策略 customize为自定义,id值由用户生成,比如取MySQL中的数据id,如缺省此项配置,则id默认策略为es自动生成id-type: customize# 字段更新策略 默认为not_nullfield-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版本较低,因此按照官网教程做了些兼容):
<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步的路径对应)
