具有compositeID路由的tomcat上的bootstrap solr

时间:2013-07-03 04:37:11

标签: solr tomcat7

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

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

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

SolrCloud wiki使用jetty示例,可以传递“numShards”参数。是否有可能在tomcat中完成?

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

谢谢!

1 个答案:

答案 0 :(得分: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的一些观点也在那里)