2015-10-15 22 views

回答

0

文檔被插入的分片由文檔ID上計算的散列值確定。有關詳情,請參閱here

如果針對託管shard1的集羣的第一個節點發出請求,但文檔將根據其文檔ID上的哈希值插入到shard2中,則第一個節點將內部請求轉發到第二個節點。你不需要做任何事情。因此,不要在第一個節點上插入所有文檔,而是在集羣中的節點上分發它們(例如,使用負載均衡器)。

如果您想對發行版有更多的控制權,您也可以使用implicit模式here。然後,您指定的字段內的值決定您在哪個分片中註冊文檔。

+0

嗨。 thx回答。我們有LB Haproxy,ip 10.10.10.10,節點之間的Haproxy平衡。但是當他選擇'sh2'或其他節點時,他會開始在一個分片中插入所有文檔,也許我們可以通過solr scheme或configs進行分發?我們使用'implict'模式 –

+0

當你創建你的集合時,你選擇了什麼字段作爲'router.field'?這個字段中的哪些值? – siom

+0

我只輸入'router.name = implicit','router.field' - nothing 'action = CREATE&name = coll1&numShards = 2&replicationFactor = 2&maxShardsPerNode = 2&router.name = implicit&collection.configName = coll1&shards = sh1,sh2,sh3' –