我已经成功安装了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,如果有帮助的话。
答案 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>
我希望有所帮助。