solr sharding策略

本文介绍了Solr中的两种分片策略:compositeId(一致性哈希)和implicit。详细解释了每种策略的工作原理,包括如何通过指定numShards参数使用compositeId策略,并探讨了在implicit策略下动态增加shard的可能性。
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值