如何在SOLR中将不同的模式文件分配给不同的核心?

发布于 2024-12-05 12:52:01 字数 729 浏览 3 评论 0原文

我有一个具有三个不同核心的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

寻找一个思念的角度 2024-12-12 12:52:02

如果您下载了源代码,请检查多核文件夹,其中演示了多核配置,您可以参考和测试。
或参考@ 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)
例如

<core name="content" instanceDir="content">
     <property name="schemaName" value="contentSchema.xml" />
</core>

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.

<core name="content" instanceDir="content">
     <property name="schemaName" value="contentSchema.xml" />
</core>
成熟稳重的好男人 2024-12-12 12:52:02

仔细阅读文档,“schema”是核心元素的属性,而不是属性。所以假设您将“myschema.xml”放在核心的conf文件夹下:

<core ....>
   <property name="schema" value="myschema.xml" />
</core>

将导致在类路径中找不到schema.xml或...../conf错误

然而,

<core .... schema='myschema.xml' />

将会成功。

注意:我猜,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:

<core ....>
   <property name="schema" value="myschema.xml" />
</core>

will cause can't find schema.xml in classpath or ...../conf error

Whereas,

<core .... schema='myschema.xml' />

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.

半暖夏伤 2024-12-12 12:52:02

这是我最终使用的并且正在工作的

<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 文件中)

This is what I finaly used and is working

<cores adminPath="/admin/cores" defaultCoreName="content">
    <core name="content" instanceDir="./content" />
    <core name="users" instanceDir="./users" />
    <core name="users_organizations" instanceDir="./users_organizations" />
</cores>

Under each of those directories I have a conf directory with it's own conf files, which they in turn also point to the right data folder (in the solrconfig.xml file)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文