我们正在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”,并将导致使用“隐式”路由器。
谢谢!
答案 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的一些观点也在那里)