【问题标题】:Solr - How to use "dir" attribute of <lib> tag, in solrconfig.xmlSolr - 如何在 solrconfig.xml 中使用 <lib> 标签的“dir”属性
【发布时间】:2015-08-10 03:35:24
【问题描述】:

我尝试使用 solr 的 DIH 功能,但 solrconfig.xml 中的 &lt;lib&gt; 标签让我有些困惑。


路径:

我在solr_5.2.1\下安装了solr。

核心创建于solr_5.2.1\server\solr\search_cn\

solrconfig.xml 位于solr_5.2.1\server\solr\search_cn\conf\solrconfig.xml

DIH 库位于 solr_5.2.1\dist\solr-dataimporthandler-5.2.1.jar


我认为应该使用以下&lt;lib&gt; 来导入DIH lib:

&lt;lib dir="../../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" /&gt;

但是,它不会,而是,以下工作:

&lt;lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" /&gt;


谁能帮忙解释一下?谢谢。


@更新:

如果@abhishek bafna的回答是正确的,那我还有个疑问:

当我在 solr_5.2.1\server\solr\search_cn\lib\ 创建一个 lib 文件夹时。

并通过&lt;lib dir="../lib/" /&gt; 包含它,它可以找到里面的罐子。

但是按照答案应该是&lt;lib dir="./lib/" /&gt;吧?

你能帮忙解释一下吗,我想澄清一下以避免将来出现配置问题,谢谢。


@Summary:

我根据@abhishek bafna的回答做了一个测试。

以下是我的总结,(使用 solr 5.2.1):

  • &lt;lib&gt;dir 是相对于instance_dir 的,在其中找到了solr.properties。
  • 默认instance_dir_base/lib/会搜索jar,不需要通过&lt;lib&gt;配置。
  • 任何其他文件夹,如果想从中加载jar,需要使用&lt;lib&gt; 正确配置。

【问题讨论】:

    标签: java search solr


    【解决方案1】:

    目录是相对于 solr instanceDir 解析的。 instanceDir 是它创建 core.properties 文件的地方。它在instanceDir 中查找conf 文件夹并创建data(索引数据)目录。

    【讨论】:

    • 说的有道理,虽然我在官方文档中没有看到描述。
    • 我把这个问题附加了一点更新,你介意看一下吗,谢谢。
    • @EricWang 我尝试了您已更新的配置。我的观察如下:您可以将 jar 放入 instanceDir(其中包含您的 conf 目录和 core.properties)或创建一个 lib 文件夹。 Solr 能够自动加载 jar,而无需在 solrconfig 文件中指定任何内容。但是当我在 lib 中创建另一个目录时,我需要在 指令中指定正确的目录。请自己试一试,告诉我结果如何。
    • 我今天早上做了一系列测试,并在问题中附加了我的总结。基本上,您是对的,除了 instance_dir/ 本身不是要搜索的默认文件夹,但 instance_dir/lib/ 将按照您所说的进行搜索。默认不搜索任何其他文件夹,包括instance_dir/lib/ 的子文件夹。更改配置或 jar 位置后,我认为可能需要重新启动才能使其 100% 生效。
    • 非常非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    相关资源
    最近更新 更多