重新加载SolrCloud配置(存储在Zookeeper上) - schema.xml

Glo*_*ior 18 solr solrcloud solr4 apache-zookeeper

我使用独立的zookeeper设置了SolrCloud复制.但现在我希望对我的Schema.xml进行一些更改并重新加载核心.问题是当我运行单个服务器Solr(没有solrcloud)时,加载了新模式,但我不知道如何在所有复制服务器上重新加载模式.我尝试在其中一个服务器上重新加载架构,没有任何预期的影响.有没有一种方法可以在使用zookeeper的分布式复制设置中在Solr中重新加载我的schema.xml.

Glo*_*ior 26

刚刚找到了将更改的配置推送到zookeeper集合所需的解决方案.

只是用

sh zkcli.sh -cmd upconfig -zkhost  127.0.0.1:2181  -collection collection1 -confname myconf -solrhome ../solr -confdir ../solr/collection1/conf
Run Code Online (Sandbox Code Playgroud)

zkcli.sh存在于example/cloud-scripts下


fre*_*dev 7

标记为正确的答案是错误的.您必须使用Solr Collection API

Solr Collection API指示SolrCloud,配置重新加载将在整个集群中传播.据我所知,Solr Collection API至少可以从Solr 4.8获得.

该过程略有不同,使用这些API,您只需一次API调用即可在整个群集上重新加载配置.

只需使用Solr zkcli.sh实用程序上传更新的配置即可.注意不要将Solr zkcli.sh与Zookeeper 混淆,zkcli.sh他们的名字完全相同但目的完全不同.

所以说使用Solr zkCli.sh(在目录中zkcli.sh):

./zkcli.sh -cmd upconfig -zkhost 127.0.0.1:2181 -collection collection1 -confname myconf -confdir path/to/solr/collection1/conf
Run Code Online (Sandbox Code Playgroud)

然后您可以使用以下命令重新加载配置:

http://server1:8983/solr/admin/collections?action=RELOAD&name=collection1
Run Code Online (Sandbox Code Playgroud)

整个群集将更新.