0

我们在 tomcat 7 上将 solr 4.0 升级到 solr 4.3.1。

我们想使用“compositeId”路由器。似乎有两种方法可以做到这一点:1.使用集合API通过传递“numShards”来创建新集合;2. 在引导过程中传递“numShards”。

对于 1,我们有大量不想重新索引的现有索引数据。因此,我们不能创建新的集合。

SolrCloud wiki 使用可以传递“numShards”参数的码头示例。可以在tomcat中做到吗?

这是目前在 solr 4.3.1 在 tomcat 7 上发生的情况。在执行默认引导时:solr 读取“solr.xml”以查找所有 solr 核心并引导所有核心。但是,solr 核心的哈希范围在 zookeeper 中的“clusterstate.json”中显示为“null”,这将导致使用“隐式”路由器。

谢谢!

4

1 回答 1

0

当您想在 Tomcat 中运行 Solr 设置集合时(ZooKeeper 单独运行),您应该使用 Collections API:即您可以在调用 CREATE 操作时指定分片数(numShards)和其他参数。

Solr 4.3.1 现在有一个不错的选择,允许拆分现有的分片。请查看 Collections API 中的 SPLITSHARDS。

https://cwiki.apache.org/confluence/display/solr/Collections+API

http://wiki.apache.org/solr/SolrCloud(也有关于集合 API 的一些要点)

于 2013-08-07T13:46:36.827 回答