Solr:在 SolrCloud 设置中使用 configSet 添加核心不起作用

Solr: Adding cores using a configSet in a SolrCloud setup does not work

我的 SolrCloud (v5.2) 设置有 2 个不同的内核 [users, docs] 正常工作。

现在我需要能够动态添加新内核,这些内核在配置方面与现有的 docs 内核相同。我不想复制配置(我试过它工作正常)因为我需要实际共享 synonyms.txt 和其他一些不断变化的文件。

我认为我需要 "configsets" 但我无法让它们工作。我使用此命令上传了 "template" conf:

sh zkcli.sh -zkhost zk1:2181 -cmd upconfig -confname template -confdir /home/user1/template/conf

然后我尝试使用 template 配置集创建一个新核心,如下所示:

http://solr1:8983/solr/admin/cores?action=CREATE&configSet=template&name=test1

但是我得到这个错误:

Error CREATEing SolrCore 'test1': Unable to create core [test1] Caused by: Could not find configName for collection test1 found:[users, docs, template, .system]

我认为我缺少一些关于配置集如何工作的知识。

配置集目录的默认路径是$SOLR_HOME/configsets,即在我的示例中是/opt/solr/solr-5.4.0/server/solr/configsets。这个路径可以配置在solr.xml.

因此,如果您使用配置集的默认路径,那么这个

sh zkcli.sh -zkhost zk1:2181 -cmd upconfig -confname template -confdir /home/user1/template/conf

应替换为

sh zkcli.sh -zkhost zk1:2181 -cmd upconfig -confname template -confdir /home/user1/......../../../configsets

只需将此路径 /home/user1/........./../../configsets 替换为您的配置集的正确路径

希望对您有所帮助

您可以共享 Core 的配置并创建一个新的集合。对配置的任何更改都会影响所有集合。

使用此调用创建新集合:

http://solr1:8983/solr/admin/collections?action=CREATE&name=test1&collection.configName=docs&numShards=1