[英]How to Insert a document to a specific shard in Apache Solr Cloud Mode
有没有办法可以将文档添加到特定的分片中?
例如,文档类型A将始终插入到shard1中,文档类型B始终将插入到shard2中。
我尝试过使用自定义路由器,但不保证不同的前缀会路由到不同的分片。
PS。 我使用云模式在Solr 5上。
警告:我正在使用SolrNet访问SolrCloud,它还没有与ZooKeeper集成。 对于Java客户端,这可能要容易得多。
尽管我在这里和这里看到的有关CompositeId Router
,我仍然无法让它工作。 什么@jay帮我弄清楚了是用“隐含的”路由实现这一目标的方式。 如果您像这样创建集合( numShards
参数):
http://localhost:8983/solr/admin/collections?action=CREATE&name=myCol&maxShardsPerNode=2&router.name=implicit&shards=shard1,shard2&router.field=shard
然后一个字段添加到您schema.xml
命名为“碎片”(匹配router.field
参数),你可以索引到一个特定的碎片只需添加的shard
场到文档被索引并指定碎片名称。 在查询时,您可以指定要搜索的分shards
- 更多信息 (我能够简单地指定具有特定地址的分片名称)。
我还没有在生产中测试过这个,但已经验证了使用多个VirtualBox实例,使用ZooKeeper,HAProxy和几个Solr节点,它正在完全按照我的预期进行。 更正和评论欢迎。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.