首页 > 解决方案 > Solr 中的独立托管资源具有相同的 configSet

问题描述

我一直在使用 Solr 一段时间(目前使用 8.2.0),始终处于独立模式。我正在尝试将同义词用作托管资源,我发现共享给定配置集的所有内核都共享同义词。事实上,再深入一点,似乎配置不会在创建核心时被复制,只是被引用,所以它实际上对所有核心使用相同的文件(在这种情况下为 _schema_analysis_synonyms_english.json)。

我想定义一次核心配置,因为我将使用许多具有相同参数的核心,但我希望它们能够独立处理同义词和保护词。我知道我可以手动将 configset 的内容复制到核心目录,但是这个选项太麻烦了,因为它涉及到对文件系统的干预,并且它可能无法很好地扩展,而且如果完全可以访问 Solr 服务器.

我尝试了一些选项,例如使用<str name="shareSchema">${shareSchema:false}</str> in /var/solr/data/solr.xml,但无济于事。

我可以期望有任何方式为通过 CREATE REST API 创建的核心提供此功能吗?如果我必须考虑迁移到 Solr 云模式,这种行为是否也会存在或我想要实现的行为?

谢谢,

标签: solr

解决方案


我发现了另一个在独立模式下运行良好的选项,它涉及solrconfig.xml<configset dir>/conf/.

如果我为托管资源内容手动设置storageDir,我可以强制每个核心使用不同的目录:

    <restManager>
        <str name="storageDir">/var/solr/data/${solr.core.name}/managed_resources</str>
    </restManager>

我猜想比/var/solr/data/${solr.core.name}可以用来引用核心目录更好的东西,但我还没有找到它。


推荐阅读