为什么运行第二个Apache Solr实例时不能创建核心?

时间:2016-09-08 21:51:07

标签: solr

我的第一个例子:

sudo bin/solr start -p 8983 -s ../coaps

我的第二个例子:

sudo bin/solr start -p 8984 -s ../newcoaps

使用python http实用程序我验证了连接:

http :8983/solr/
http :8984/solr/

我可以使用:8983/solr/samos/admin/ping/ ping我的第一个,但我无法ping另一个,因为../newcoaps中的核心在启动时未添加。

在我启动Solr之前,../newcoaps目录看起来像这样:

ls -R ../newcoaps/
../newcoaps/:
samos  solr.xml

../newcoaps/samos:
conf  data

../newcoaps/samos/conf:
schema.xml  solrconfig.xml

../newcoaps/samos/data:

我直接从我的其他实例复制了这里的文件,该实例运行顺利。除了我定义的几个字段外,一切都是默认的。

在网络浏览器中,我看到第二个实例没有核心,所以我尝试手动添加它,但我得到了这个回复:

Error CREATEing SolrCore 'new_core': Unable to create core [new_core] Caused by: Can't find resource 'synonyms.txt' in classpath or '/opt/solr/newcoaps/samos'

这里发生了什么,为什么该文件足以阻止我添加此核心?我可以采取哪些步骤来找出解决这个问题的方法?

1 个答案:

答案 0 :(得分:0)

您的架构(schema.xml)引用了SqlCommand cmd = new SqlCommand("usp_team5_customerupdate @Title,@Lastname..(So on)", con); 文件(在a SynonymFilter definition中)。如果您不扩展同义词,请从配置中删除过滤器,或创建名为synonyms.txt的空文件以允许核心启动。

作为一种可能的解释:如果您第一次启动没有schema.xml的第一个节点,它可能已切换到使用托管架构功能而不是读取schema.xml,但是在启动第二个节点时架构存在,它会尝试读取和解析它。