配置
基础配置:
如果缺失可导致项目无法正常启动,其中账号密码可缺省.
easy-es:
enable: true # 是否开启EE自动配置
address : 127.0.0.1:9200 # es连接地址+端口 格式必须为ip:port,如果是集群则可用逗号隔开
schema: http # 默认为http
username: elastic #如果无账号密码则可不配置此行
password: WG7WVmuNMtM4GwNYkyWH #如果无账号密码则可不配置此行
1
2
3
4
5
6
2
3
4
5
6
拓展配置:
可缺省,不影响项目启动,为了提高生产环境性能,建议您按需配置
特别注意
如果您开启了索引托管-平滑模式(默认开启),并且您需要迁移的数据量很大,建议调大socketTimeout,否则迁移会超时异常 单位是毫秒,我们经过测试发现迁移1万条数据大约需要5秒左右,当然该数值需要综合考虑您的服务器硬件负载等因素,因此建议 您按需配置,尽量给大不给小,跟那玩意一样,大点没事,太小你懂的!
easy-es:
keep-alive-millis: 18000 # 心跳策略时间 单位:ms
connect-timeout: 5000 # 连接超时时间 单位:ms
socket-timeout: 5000 # 通信超时时间 单位:ms
request-timeout: 5000 # 请求超时时间 单位:ms
connection-request-timeout: 5000 # 连接请求超时时间 单位:ms
max-conn-total: 100 # 最大连接数 单位:个
max-conn-per-route: 100 # 最大连接路由数 单位:个
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
全局配置:
可缺省,不影响项目启动,若缺省则为默认值
easy-es:
banner: false # 默认为true 打印banner 若您不期望打印banner,可配置为false
global-config:
process-index-mode: smoothly #索引处理模式,smoothly:平滑模式,默认开启此模式, not_smoothly:非平滑模式, manual:手动模式
print-dsl: true # 开启控制台打印通过本框架生成的DSL语句,默认为开启,测试稳定后的生产环境建议关闭,以提升少量性能
distributed: false # 当前项目是否分布式项目,默认为true,在非手动托管索引模式下,若为分布式项目则会获取分布式锁,非分布式项目只需synchronized锁.
async-process-index-blocking: true # 异步处理索引是否阻塞主线程 默认阻塞 数据量过大时调整为非阻塞异步进行 项目启动更快
active-release-index-max-retry: 60 # 分布式环境下,平滑模式,当前客户端激活最新索引最大重试次数若数据量过大,重建索引数据迁移时间超过60*(180/60)=180分钟时,可调大此参数值,此参数值决定最大重试次数,超出此次数后仍未成功,则终止重试并记录异常日志
active-release-index-fixed-delay: 180 # 分布式环境下,平滑模式,当前客户端激活最新索引最大重试次数 若数据量过大,重建索引数据迁移时间超过60*(180/60)=180分钟时,可调大此参数值 此参数值决定多久重试一次 单位:秒
db-config:
map-underscore-to-camel-case: false # 是否开启下划线转驼峰 默认为false
table-prefix: daily_ # 索引前缀,可用于区分环境 默认为空 用法和MP一样
id-type: customize # id生成策略 customize为自定义,id值由用户生成,比如取MySQL中的数据id,如缺省此项配置,则id默认策略为es自动生成
field-strategy: not_empty # 字段更新策略 默认为not_null
enable-track-total-hits: true # 默认开启,开启后查询所有匹配数据,若不开启,会导致无法获取数据总条数,其它功能不受影响,若查询数量突破1W条时,需要同步调整@IndexName注解中的maxResultWindow也大于1w,并重建索引后方可在后续查询中生效(不推荐,建议分页查询).
refresh-policy: immediate # 数据刷新策略,默认为不刷新
enable-must2-filter: false # 是否全局开启must查询类型转换为filter查询类型 默认为false不转换
batch-update-threshold: 10000 # 批量更新阈值 默认值为1万
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
其它配置:
logging:
level:
tracer: trace # 开启trace级别日志,在开发时可以开启此配置,则控制台可以打印es全部请求信息及DSL语句,为了避免重复,开启此项配置后,可以将EE的print-dsl设置为false.
1
2
3
2
3
温馨提示
id-type支持3种类型:
- auto: 由ES自动生成,是默认的配置,无需您额外配置 推荐
- uuid: 系统生成UUID,然后插入ES (不推荐)
- customize: 用户自定义,在此类型下,用户可以将任意数据类型的id存入es作为es中的数据id,比如将mysql自增的id作为es的id,可以开启此模式,或通过@TableId(type)注解指定.
field-strategy支持3种类型:
- not_null: 非Null判断,字段值为非Null时,才会被更新
- not_empty: 非空判断,字段值为非空字符串时才会被更新
- ignore: 忽略判断,无论字段值为什么,都会被更新
- 在配置了全局策略后,您仍可以通过注解针对个别类进行个性化配置,全局配置的优先级是小于注解配置的
refresh-policy支持3种策略
- none: 默认策略,不刷新数据
- immediate : 立即刷新,会损耗较多性能,对数据实时性要求高的场景下适用
- wait_until: 请求提交数据后,等待数据完成刷新(1s),再结束请求 性能损耗适中
帮助我们改善此文档 (opens new window)
上次更新: 2024/05/18