在Solr 1.4.1&上获得404 for / solr / update / extract;蒂卡0.4

时间:2011-07-21 12:55:07

标签: tomcat solr apache-tika

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

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

我上面使用的方法适用于Solr 3.3,但是在Tika 0.8中打破了PDF解析,因此我决定恢复到Solr 1.4.1和Tika 0.4。

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

2 个答案:

答案 0 :(得分:1)

我解决了这个问题。

我复制了多核目录(示例/多核中的“core0”和“core1”),并且他们使用的是solrconfig.xml的VERY STRIPPED DOWN版本。我提到了默认示例(位于example / solr中)并抓住“update / extract”的“requestHandler”部分,并将其放在我的solrconfig.xml的精简版本中,并在Tomcat中重新启动了Solr Web应用程序,现在文件解析效果很好。

我希望这有助于其他人。

答案 1 :(得分:1)

我一直在使用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/extract添加requestHandler
<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>

我希望有所帮助。