我使用的是 Elasticsearch 版本 elasticsearch-7.13.4。我在互聯網上找不到任何準確的答案。有什么公式嗎?
uj5u.com熱心網友回復:
底層概念稱為“切片滾動”,與分片數量無關。從鏈接的檔案:
默認情況下,拆分首先在分片上完成,然后使用 _id 欄位在每個分片上本地完成,公式如下: slice(doc) = floorMod(hashCode(doc._id), max) 例如,如果分片的數量相等到 2 并且用戶請求了 4 個切片,然后將切片 0 和 2 分配給第一個分片,將切片 1 和 3 分配給第二個分片。
但是,在使用自動切片(即slices=auto)時,Elasticsearch 會選擇分片的數量作為切片的數量
將 slices 設定為 auto 將讓 Elasticsearch 選擇要使用的切片數量。此設定將每個分片使用一個切片,最多可達某個限制。如果有多個源,它會根據分片數最少的索引或后備索引選擇分片數。
當分片數等于索引中的分片數時,查詢性能最有效。[...] 設定高于分片數量的切片通常不會提高效率并增加開銷。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/343276.html
