Merge(合并)

一个Elasticsearch分片就是一个Lucene索引,Lucene索引被分解成段。分段是索引中存储索引数据的内部存储元素,并且是不可变的。较小的段被定期地合并成较大的段,以保持索引的大小和清除被标记为删除的文档。

合并过程使用自动调节来平衡合并和其他活动(如搜索)之间的硬件资源的使用。

Merge scheduler(合并计划)

合并计划(ConcurrentMergeScheduler)在需要时控制合并操作的执行。合并运行在单独的线程中,并且当达到最大线程数时,更多的合并将等待直到合并线程可用。

合并计划支持以下动态设置:

index.merge.scheduler.max_thread_count

一次合并的最大线程数。默认为Math.max(1, Math.min(4, Runtime.getRuntime().availableProcessors() / 2)),对于固态磁盘(SSD),有很好的效果。如果您的索引在机械硬盘上,默认值减少到1。