マージ
ElasticsearchのシャードはLuceneインデックスであり、Luceneインデックスはセグメントに分割されます。セグメントはインデックス内の内部ストレージ要素で、インデックスデータが保存されており、不変です。小さなセグメントは定期的に大きなセグメントにマージされ、インデックスサイズを抑え、削除を排除します。
マージプロセスは自動スロットリングを使用して、マージと検索などの他のアクティビティ間でハードウェアリソースの使用をバランスさせます。
マージスケジューリング
マージスケジューラ(ConcurrentMergeScheduler)は、必要に応じてマージ操作の実行を制御します。マージは別のスレッドで実行され、最大スレッド数に達すると、さらにマージはマージスレッドが利用可能になるまで待機します。
マージスケジューラは次の動的設定をサポートしています:
index.merge.scheduler.max_thread_count
- 一度にマージ中の単一シャードの最大スレッド数。デフォルトは
Math.max(1, Math.min(4, <<node.processors, node.processors>> / 2))
で、良好なソリッドステートドライブ(SSD)に適しています。インデックスが回転するプラッタードライブの場合は、これを1に減らしてください。