2

我已经成功安装了 Solr 1.4.1,但我无法让 Tika 0.4(包含在 contrib/extraction 中)正常工作。尝试访问http://localhost:8080/solr/ss/update/extract时出现 404 错误(“ss”是我的核心)。

在部署 Solr 之后,我已将所有 contrib/extraction jar 以及驻留在“dist”目录中的“solr-cell”jar 移到了 Solr 的 WEB-INF 目录中。

我上面使用的方法适用于 Solr 3.3,但 PDF 解析在 Tika 0.8 中被破坏,所以我决定恢复到 Solr 1.4.1 和 Tika 0.4。

如果有帮助,我正在使用 Tomcat 7.0。

4

2 回答 2

2

我解决了这个问题。

我复制了多核目录(example/multicore 中的“core0”和“core1”),它们使用的是非常精简的 solrconfig.xml 版本。我参考了默认示例(位于 example/solr 中)并抓取了“update/extract”的“requestHandler”部分并将其放在我的 solrconfig.xml 的精简版本中,并在 Tomcat 中重新启动了 Solr Web 应用程序,现在文件解析工作完美。

我希望这对其他人有帮助。

于 2011-07-22T14:32:39.573 回答
2

我一直在将 django_haystack 与 Solr 5.3.1 一起使用,并且在自定义 schema.xml 并遇到同样的问题时,我想添加到 Travis 的答案中。

您需要在 solrconfig.xml 中添加的行如下:

lucene下版本定义

<luceneMatchVersion>5.3.1</luceneMatchVersion>

添加这些库导入(我从示例文件中获取它们):

<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/contrib/dataimporthandler/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />

然后在任何已经定义requestHandler的附近添加/update/extractrequestHandler

<requestHandler name="/update/extract"
  startup="lazy"
  class="solr.extraction.ExtractingRequestHandler" >
  <lst name="defaults">
    <str name="lowernames">true</str>
    <str name="uprefix">ignored_</str>

    <!-- capture link hrefs but ignore div attributes -->
    <str name="captureAttr">true</str>
    <str name="fmap.a">links</str>
    <str name="fmap.div">ignored_</str>
  </lst>
</requestHandler>

我希望这会有所帮助。

于 2015-11-24T19:15:01.713 回答