如何在SOLR中将不同的模式文件分配给不同的核心?
我有一个具有三个不同核心的 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 下。我只尝试了文件名和 conf/filename
甚至没有达到该阶段,错误是:
严重:java.lang.RuntimeException:在类路径中找不到资源“schema.xml”或 /usr/local/solr/./conf/',cwd=/usr/local/solr
I have one instance of SOLR with three different cores.
I created a solr.xml config file which specifies the schema file for each core, but, it is not recognized. The system still tries to load the default schema.xml (I removed it, so it fails).
For debugging purposes I left only one code in the solr.xml, here are the entries I have:
<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>
The file `contentSchema.xml exists under [SOLR_HOME]/conf. Itried both just the file name and conf/filename
Don't even reach that phase, the error is:
SEVERE: java.lang.RuntimeException: Can't find resource 'schema.xml' in classpath or
/usr/local/solr/./conf/', cwd=/usr/local/solr
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您下载了源代码,请检查多核文件夹,其中演示了多核配置,您可以参考和测试。
或参考@ http://svn.apache.org /repos/asf/lucene/dev/trunk/solr/example/multicore/
更多 @ http://wiki.apache.org/solr/CoreAdmin#Configuration - 将是一个很好的起点。
多核不需要位于 solr 主文件夹下,可以使用以下命令指定
-Dsolr.solr.home=multicore
solr.xml 与核心文件夹位于同一文件夹中。
实例目录指向核心文件夹
schemaName -- 核心模式文件的名称(默认为 schema.xml)
例如
If you have source downloaded , check the multicore folder which demos the multicore configuration which you can refer and test.
or refer @ http://svn.apache.org/repos/asf/lucene/dev/trunk/solr/example/multicore/
More @ http://wiki.apache.org/solr/CoreAdmin#Configuration - would be a good starting point.
The multicore need not be under the solr home folder and can be specified with
-Dsolr.solr.home=multicore
The solr.xml is in the same folder as the core folders.
The instance directory points to the core folders
schemaName -- The name of the core's schema file (schema.xml by default)
e.g.
仔细阅读文档,“schema”是核心元素的属性,而不是属性。所以假设您将“myschema.xml”放在核心的conf文件夹下:
将导致在类路径中找不到schema.xml或...../conf错误
然而,
将会成功。
注意:我猜,Lucid Imagination 的文档可能已经过时,或者可能正在谈论 Solr 未来版本的功能。
Read the document carefully, 'schema' is an ATTRIBUTE of core element, not a PROPERTY. so suppose you put 'myschema.xml' under core's conf folder:
will cause can't find schema.xml in classpath or ...../conf error
Whereas,
will succeed.
Note: Lucid Imagination's doc may be out-of-date or maybe it's talking about a feature of a future version of Solr, I guess.
这是我最终使用的并且正在工作的
在每个目录下我都有一个
conf
目录,其中包含它自己的conf文件,它们反过来也指向正确的data
文件夹(在solrconfig.xml
文件中)This is what I finaly used and is working
Under each of those directories I have a
conf
directory with it's own conf files, which they in turn also point to the rightdata
folder (in thesolrconfig.xml
file)