Elasticsearch官方文件翻譯-合併
阿新 • • 發佈:2022-03-05
本系列文章翻譯ES官方8.0版本文件。本章對應內容地址Merge
因為水平有限,翻譯內容難免存在錯漏,歡迎大家指出
合併
在Elasticsearch 中一個分片就是一個Lucene 索引,而Lucene 索引又包含多個分段。在Lucene 索引中的儲存單元是分段,實際的資料儲存在分段中且分段生成後是不可變的。較小的分段會定期合併為大的分段,在合併的過程中會移除已被刪除的文件以減小索引所佔的空間。
合併的排程
合併排程器(ConcurrentMergeScheduler)控制這段的合併,每個合併操作由獨立的執行緒執行,當合併線程數達到設定的最大值後,後面的合併操作會阻塞直到由執行緒空閒。合併排程器引數支援動態配置,可設定下面的引數設定合併的最大執行緒數
index.merge.scheduler.max_thread_count 單個分片可用於合併操作的最大執行緒數,預設值為Math.max(1, Math.min(4, <<node.processors, node.processors>> / 2)),這個在SSD磁碟較優,如果使用機械磁碟則可設定為該值加1.