SolrCloud路由學習總結

2021-08-12 00:24:34 字數 1102 閱讀 7780

solrcloud提供了兩種路由演算法:compositeid、

implicit

在建立collection時,需要通過router.name指定路由策略,預設為compositeid路由。

compositeid

該路由為一致性雜湊路由,shards的雜湊範圍從80000000~7fffffff。初始建立collection是必須指定 numshards,compositeid路由演算法根據numshards的個數,計算出每個shard的雜湊範圍,因此路由策略不可以擴充套件shard。

需要注意的是:使用compositeid路由建立collection,指定numshards後,不可擴充套件shard,即使勉強增加shard,新建索引也不會落在該shard上。檢視clusterstate.json,可看到新建shard的"range":null。

如果需要擴充,可以使用splitshard來實現。

implicit

該路由方式指定索引具體落在路由到哪個shard,這與compositeid路由方式索引可均勻分布在每個shard上不同,只有在implicit路由策略下才可建立shard。利用solrj新建索引時,需要在**中指定索引具體落在哪個shard上,否則會預設新增到第乙個shard裡面。

例子:action=create&name=testimplicit&router.name=implicit&shards=shard1,shard2,shard3

實際應用 - 把implicit改為conpositeid
先跟據shard個數,得到每個shard的range(用conpositeid方式新建乙個同樣個數shard的collection,即可得到相應shard的range),用程式讀取zk的clusterstate.json檔案,把range屬性的值替換,把router.name的值替換,然後用程式把clusterstate.json寫回zk即可。

SolrCloud之Sharding路由介紹

img size medium 在solr4.4之後,solr提供了solrcloud分布式集群的模式,它帶來的主要好處是 1 大資料量下更高的效能 2 更好擴充套件性 3 更高的可靠性 4 更簡單易用 什麼時候應該使用solrcloud shard 呢?1 更大的資料量 2 更大的索引體積 3 想...

vue學習總結之路由

一 新增依賴,在package.json中找到dependencies模組,然後往裡面追加jquery,以jq版本2.2.3為例 dependencies 然後命令列 npm install 二 新增完依賴後,修改webpack配置,找到webpack.base.conf.js,引入 var web...

HCIA靜態路由學習總結

無限延長傳輸距離 解決衝突域 實現單播 劃分廣播域 實現不同網路間的互聯 不同廣播域 私網 公網 路由功能 選路 檢測網絡卡的好壞 檢測tcp ip協議棧道是否能夠正常的封裝和解封裝資料 wangcai ip route static 192.168.2.0 24 g0 0 0 下一跳 字首 未知網...