首页/数据/NoSQL 速查/_forcemerge 段合并与空间回收
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条
ClickHouse56 条时序与列式28 条选型与架构50 条

_forcemerge 段合并与空间回收

段合并把大量小段合成大段,减少段数量与磁盘占用、提升查询效率;max_num_segments=1 表示合到单段,only_expunge_deletes 只清理已删除文档。

NoSQL 速查数据更新于 2026-10-12
接口POST /<index>/_forcemerge
常用参数max_num_segments=1、only_expunge_deletes=true、wait_for_completion=false
适用对象只读或极少写入的索引;活跃写入索引不要例行执行

示例

示例
POST /logs-2023/_forcemerge?max_num_segments=1&wait_for_completion=false

POST /logs-2023/_forcemerge?only_expunge_deletes=true

GET /_tasks?actions=*forcemerge&detailed=true
合并期间占用磁盘 IO 与临时空间,且不能中断回滚,安排在业务低峰并观察节点 IO。

易错点

  • 对持续写入的索引执行 force merge 会与后台自动合并互相拖累,收益低风险高
  • 合并会重写全部段,磁盘需要预留额外空间,接近水位时先扩容再合并

数据来源与参考

  • Elasticsearch Guide: Force merge API
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌