【问题标题】:How to share schema and configuration between cores in Solr 4.4+?如何在 Solr 4.4+ 中的核心之间共享架构和配置?
【发布时间】:2013-08-01 09:36:46
【问题描述】:

我想从旧的 solr.xml 格式迁移到 4.4 中的核心自动发现,但是我在共享核心之间的配置(solrconfig.xml、schema.xml 和依赖文件)时遇到了问题,就像我以前一样.

我的旧 solr.xml 是这样的:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
  <cores defaultCoreName="core1" adminPath="/admin/cores">
    <core instanceDir="."name="core1" dataDir="core/core1"/>
    <core instanceDir="."name="core2" dataDir="core/core2"/>
    ...
  </cores>
</solr>

目录结构:

solr.xml
conf
   schema.xml
   solrconfig.xml
   ...
core
    core1
    core2
    ...

一切都以这种方式完美运行,整个配置在内核之间共享。它工作正常,因为所有内核的实例目录都相同,并且 conf 目录在它下面。

使用 4.4 中的核心自动发现,不可能为所有核心拥有相同的实例目录。不过,我找到了一个可行的解决方案:

目录结构:

solr.xml
common
    conf
        schema.xml
        solrconfig.xml
        ...
core
    core1
        core.properties
        data
    core2
        core.properties
        data
    ...

solr.xml:

<solr>
    <str name="sharedLib">common</str>
</solr>

核心属性:

name=core1

由于 conf 目录位于类路径中,因此它可以工作,这要归功于 shareLib 指令。但这并不完全令人满意,因为我无法在 admin webapp 中显示配置文件,我得到以下异常:

java.lang.NullPointerException
    at org.apache.solr.handler.admin.ShowFileRequestHandler.showFromFileSystem(ShowFileRequestHandler.java:210)
    at org.apache.solr.handler.admin.ShowFileRequestHandler.handleRequestBody(ShowFileRequestHandler.java:122)
    at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
    at org.apache.solr.core.SolrCore.execute(SolrCore.java:1904)

有没有更好的方法在 4.4 中的所有内核之间共享配置?

【问题讨论】:

    标签: solr solr4


    【解决方案1】:

    我们遇到了同样的问题。我们尝试在 core.properties 文件夹中指定一个相对路径,但没有成功。

    我们最终做的是在 SOLRHome 文件夹中创建一个 conf 文件夹,然后在 core/conf 目录中创建符号链接。

    以下是我为创建符号链接而执行的命令:

    ln -s ../../conf/solrconfig.xml solrconfig.xml
    ln -s ../../conf/schema.xml schema.xml
    

    【讨论】:

    • 这绝对有效,但我需要为每个核心执行此操作。我用这个脚本做到了:for core in $SOLR_HOME/core/* ; do ln -s $SOLR_HOME/common/conf $core/conf; done
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    • 2020-03-13
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    相关资源
    最近更新 更多