更新时间:2024-11-29 GMT+08:00

强制段合并(force merge)

每个shard是基于多个segment组成创建的,segment的个数的减少可以大幅的提高查询的速度,定时的进行手动索引段合并,可以提高查询速度。支持单索引和多索引批量操作。

单索引安全模式下示例:

curl -XPOST --tlsv1.2 --negotiate -k -u : 'https://ip:httpport/myindex-001/_forcemerge?only_expunge_deletes=false&max_num_segments=1&flush=true&pretty'

多索引安全模式下示例:

curl -XPOST --tlsv1.2 --negotiate -k -u : 'https://ip:httpport/myindex-001,myindex-002/_forcemerge?only_expunge_deletes=false&max_num_segments=1&flush=true&pretty'
curl -XPOST --tlsv1.2 --negotiate -k -u : 'https://ip:httpport/_all/_forcemerge?only_expunge_deletes=false&max_num_segments=1&flush=true&pretty'
  • force merge操作是需要耗费大量的磁盘I/O,所以建议在业务比较空闲的时间进行后台强制段合并。
  • max_num_segments:merge到多少个segments,1的意思是强行merge到1个segment;
  • only_expunge_deletes:只清理有deleted标记的segments,推荐值false;
  • flush:清理完执行flush,默认是true。