配置项作用 #
thread_pool.refresh.core 配置项用于控制索引刷新线程池的核心线程数。
Refresh 线程池用于执行索引刷新操作,将内存中的更改刷新到磁盘,使新文档可被搜索。
配置项属性 #
- 配置路径:
thread_pool.refresh.core - 数据类型:
Integer(整数) - 默认值:
1 - 是否可选: 是
- 作用域: NodeScope(节点级别)
- 动态更新: 是(可以动态更新,无需重启)
配置项详解 #
工作机制 #
Refresh 线程池架构
线程池类型: SCALING (可伸缩)
核心线程: core (默认 1)
最大线程: max = (CPU + 1) / 2, 最大 10
保活时间: keep_alive (默认 5m)
Refresh 操作:
├── 将内存缓冲写入磁盘
├── 创建新的 Lucene 段
├── 使新文档可搜索
└-- 更新事务日志
与 Flush 的区别 #
Refresh vs Flush:
Refresh:
├── 轻量级操作
├── 内存到磁盘
├── 使数据可搜索
├── 频繁执行 (默认 1s)
└-- 快速完成
Flush:
├── 重量级操作
├── 缓冲到磁盘
├── 持久化数据
├── 较少执行
└-- 耗时较长
配置建议 #
默认配置 #
thread_pool:
refresh:
core: 1 # 默认值
高刷新频率 #
thread_pool:
refresh:
core: 2
相关配置 #
| 配置项 | 作用 | 默认值 |
|---|---|---|
refresh.core | 核心线程数 | 1 |
refresh.max | 最大线程数 | (CPU+1)/2, 最大10 |
refresh.keep_alive | 线程保活时间 | 5m |
注意事项 #
默认值: 默认值为
1。动态更新: 支持动态更新。
与 refresh_interval 配合: 高刷新频率时可能需要增加核心线程。





