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