📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项作用 #

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. 默认值: 默认值为 1

  2. 动态更新: 支持动态更新。

  3. 与 refresh_interval 配合: 高刷新频率时可能需要增加核心线程。