0

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

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

我认为我需要“配置集”,但我无法让它们工作。我使用以下命令上传了“模板”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]

我认为我对配置集的工作方式有一些缺失的知识。

4

2 回答 2

0

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

所以,如果你使用 configset 的默认路径,那么这个

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 替换为配置集的正确路径

希望这可以帮助

于 2016-04-19T11:22:31.307 回答
0

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

使用此调用创建新集合:

http://solr1:8983/solr/admin/collections?action=CREATE&name=test1&collection.configName=docs&numShards=1
于 2016-04-20T09:47:24.867 回答