我有一个SOLR实例,有三个不同的核心 我创建了一个solr.xml配置文件,它指定每个核心的模式文件,但是它无法识别。系统仍然尝试加载默认的schema.xml(我将其删除,因此失败)。
出于调试目的,我只在solr.xml中留下了一个代码,这里是我的条目:
<solr persistent="false">
<cores adminPath="/admin/cores" defaultCoreName="content" shareSchema="false">
<core name="content" instanceDir=".">
<property name="schema" value="conf/contentSchema.xml" />
</core>
</cores>
</solr>
文件`contentSchema.xml存在于[SOLR_HOME] / conf下。 Itried只是文件名和conf / filename
甚至没有达到那个阶段,错误是:
SEVERE:java.lang.RuntimeException:无法在类路径中找到资源'schema.xml' /usr/local/solr/./conf/',cwd = / usr / local / solr
答案 0 :(得分:2)
如果您已下载源,请检查多核文件夹,该文件夹演示您可以参考和测试的多核配置。 或者参考@ http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/example/multicore/
更多@ http://wiki.apache.org/solr/CoreAdmin#Configuration - 将是一个很好的起点。
多核不需要在solr主文件夹下,可以使用 -Dsolr.solr.home =多核
solr.xml与核心文件夹位于同一文件夹中。 实例目录指向核心文件夹 schemaName - 核心模式文件的名称(默认为schema.xml) e.g。
<core name="content" instanceDir="content">
<property name="schemaName" value="contentSchema.xml" />
</core>
答案 1 :(得分:1)
仔细阅读文档,'schema'是核心元素的属性,而不是PROPERTY。所以假设你把'myschema.xml'放在core的conf文件夹下:
<core ....>
<property name="schema" value="myschema.xml" />
</core>
将导致在classpath中找不到schema.xml或..... / conf错误
然而,
<core .... schema='myschema.xml' />
会成功。
注意:Lucid Imagination的文档可能已经过时,或者说它可能是在谈论Solr未来版本的一个功能,我猜。
答案 2 :(得分:0)
这是我最终使用和工作的原因
<cores adminPath="/admin/cores" defaultCoreName="content">
<core name="content" instanceDir="./content" />
<core name="users" instanceDir="./users" />
<core name="users_organizations" instanceDir="./users_organizations" />
</cores>
在每个目录下,我有一个conf
目录及其自己的conf文件,它们又指向正确的data
文件夹(在solrconfig.xml
文件中)