solr sharding策略
solr中含有兩種sharding策略,一種是預設的compositeId(一致性hash),一般在指定numShards引數時,會自動切換到router="compositeId",如果採用compositeId方式,那麼就不能動態增加shard。如果採用的是implicit方式,就可以動態的增加shard。
compositeId:該路由為一致性雜湊路由,shards的雜湊範圍從80000000~7fffffff。初始建立collection是必須指定numShards,compositeId路由演算法根據numShards的個數,計算出每個shard的雜湊範圍,在update或者新增時,根據uniqueid的hash坐落在那個hash區間來決定這份document資料傳送至哪個shard。
implicit:該路由方式指定索引具體落在路由到哪個shard,這與compositeId路由方式索引可均勻分佈在每個shard上不同。同時只有在implicit路由策略下才可建立shard,同時,在需要update或者add的document中增加_route_欄位來存放需要傳送的shard名字,以此shard的名字來決定傳送至哪個shard,所以由此可以看出ImplicitDocRouter更加靈活。
利用solrJ新建索引時,需要在程式碼中指定索引具體落在哪個shard上,新增程式碼如下:
doc.addField("_route_","shard_x")
同時在schema.xml新增欄位:
<field name="_route_" type="string"/>
利用URL建立implicit路由方式collection:
http://10.21.17.200:9580/solr-5.0.0-web/admin/collections?action=CREATE&name=testimplicit&router.name=implicit&shards=shard1,shard2,shard3
compositeId:該路由為一致性雜湊路由,shards的雜湊範圍從80000000~7fffffff。初始建立collection是必須指定numShards,compositeId路由演算法根據numShards的個數,計算出每個shard的雜湊範圍,在update或者新增時,根據uniqueid的hash坐落在那個hash區間來決定這份document資料傳送至哪個shard。
implicit:該路由方式指定索引具體落在路由到哪個shard,這與compositeId路由方式索引可均勻分佈在每個shard上不同。同時只有在implicit路由策略下才可建立shard,同時,在需要update或者add的document中增加_route_欄位來存放需要傳送的shard名字,以此shard的名字來決定傳送至哪個shard,所以由此可以看出ImplicitDocRouter更加靈活。
利用solrJ新建索引時,需要在程式碼中指定索引具體落在哪個shard上,新增程式碼如下:
doc.addField("_route_","shard_x")
同時在schema.xml新增欄位:
<field name="_route_" type="string"/>
利用URL建立implicit路由方式collection:
http://10.21.17.200:9580/solr-5.0.0-web/admin/collections?action=CREATE&name=testimplicit&router.name=implicit&shards=shard1,shard2,shard3
相關文章
- Sharding-JDBC分片策略詳解(二)JDBC
- database no shardingDatabase
- 【Lucene&&Solr】Windows搭建solr伺服器SolrWindows伺服器
- sharding-jdbc 分庫分表的 4種分片策略,還蠻簡單的JDBC
- Solr 入門Solr
- Solr的特性Solr
- 【死磕Sharding-jdbc】—基於 SSM 整合shardingJDBCSSM
- Oracle sharding databaseOracleDatabase
- Sharding-JDBCJDBC
- .Net 下 Solr 入門學習系列(一)Solr簡介Solr
- .Net 下 Solr 入門學習系列(二)Solr安裝Solr
- Solr學習總結(二)Solr的安裝與配置Solr
- solr介面介紹Solr
- .Net 下 Solr 入門學習系列(三)Solr管理控制檯使用Solr
- Solr入門和實踐以及我對Solr的8點理解Solr
- ZooKeeper 搭建 solr 叢集Solr
- Solr的關鍵特性Solr
- Solr刪除資料Solr
- 為solr配置HttpsSolrHTTP
- Mysql叢集/solr/mongoDBMySqlSolrMongoDB
- Solr搜尋基礎Solr
- Apache Solr 4釋出ApacheSolr
- solr的suggest模組Solr
- Sharding JDBC案例實戰JDBC
- 【Cetus】Cetus-sharding版本
- MongoDB 3.4配置sharding分片MongoDB
- Oracle的Sharding技術Oracle
- mongodb 分片群集(sharding cluster)MongoDB
- 【Mongodb】Sharding 叢集配置MongoDB
- .Net 下 Solr 入門學習系列(四)Solr查詢引數整理Solr
- solr(三)centos7.6安裝配置javasdk1.8及執行solrSolrCentOSJava
- Solr報錯Index locked for write for core '***'. Solr now longer supports forceful unlocking via 'unlockOnStartup'SolrIndex
- solr全文檢索學習Solr
- solr安裝使用筆記Solr筆記
- Solr資料不同步Solr
- Spring Data Solr 教程: 排序SpringSolr排序
- Solr體系架構圖Solr架構
- Solr主要元件關係圖Solr元件