我从 Docker 映像运行 Solr 实例。我有2个核心。
重新启动容器后,其中一个核心的 core.properties 被删除,并且该核心从管理 UI 中消失。 当我手动创建并添加这个文件后,一切都变得和以前一样了。 然后我尝试再次重新启动容器,并且 core.properties 再次被删除,但这次是从另一个核心删除的。
这可能是什么原因?
编辑:
有 2 个核心:main_core 和 swap_core。 我用它们做了很多操作,例如:添加默认架构、检查架构、添加自定义字段、添加数据等。 我也尝试实施重新索引但没有成功。 但一切都按我的预期运行,直到我重新加载 Docker 容器。 容器的结构如下所示:
- solr
- Files
- var
- solr
- data
- main_core
- conf
- data
core.properties
- swap_core
- conf
- data
core.properties
第一次重新加载后,main_core 中的 core.properties 被删除。 我手动恢复它并再次重新加载容器。然后从 swap_core 中删除 core.properties 。
除此之外,我得到了
org.apache.solr.common.SolrException:“leaderUrl”参数值 不允许:URL 既不是集群的活动节点,也不在 配置“allowUrls”
错误。
我不确定 Python 代码会有多大帮助,特别是因为大约有 10-12 个不同的函数可以与 Solr 一起使用,而且在 Docker 容器重新启动之前一切都正常。 我只想补充一点,我使用 Pysolr Python 库。
import pysolr
solr = pysolr.Solr("http://localhost:8983/solr/main_core")
已解决: 原来我得修改solr.xml
<str name="allowUrls">${solr.allowUrls:}</str>
这样:
<str name="allowUrls">${solr.allowUrls:localhost:8983/solr}</str>
甚至重新索引也开始正常工作。