合并编辑

Elasticsearch 中的 shard 是一个 Lucene 索引,而 Lucene 索引被分解成多个段。段是索引中存储索引数据的内部存储元素,并且是不可变的。较小的段会定期合并成较大的段,以控制索引的大小并清除删除操作。

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

合并调度编辑

合并调度器 (ConcurrentMergeScheduler) 控制在需要时执行合并操作。合并操作在单独的线程中运行,当达到最大线程数时,后续的合并操作将等待直到有合并线程可用。

合并调度器支持以下动态设置

index.merge.scheduler.max_thread_count
单个 shard 上可以同时进行合并操作的最大线程数。默认值为 Math.max(1, Math.min(4, <<node.processors, node.processors>> / 2)),这对于固态硬盘 (SSD) 来说效果很好。如果您的索引存储在旋转磁盘驱动器上,请将其降低到 1。