繁体   English   中英

如何在Apache Solr云模式下将文档插入特定分片

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM