Solr的TikaEntityProcessor无法正常工作

时间:2010-06-01 21:22:23

标签: solr apache-tika solr-cell

我正在尝试让Solr索引一个数据库,其中一列是我要索引的PDF文档的文件名。我的配置如下所示:

<dataConfig>
 <dataSource name="ds-db" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/document_db" user="user" password="password" readOnly="true"/>
 <dataSource name="ds-file" type="BinFileDataSource"/>
 <document name="documents">
   <entity name="document" dataSource="ds-db" query="select * from documents">
     <entity processor="TikaEntityProcessor" url="/some/path/${document.filename}" dataSource="ds-file" format="text">
       <field column="text" />
     </entity>
   </entity>
 </document>
</dataConfig>

我从主干使用Solr(截至上周)。导入过程完成且没有错误,它从数据库中获取列,但不从PDF文件中获取内容。它肯定试图访问PDF文件,因为如果我给它一个不正确的路径名,它会抱怨。但是,它似乎没有尝试索引PDF,因为它在大约40ms内完成,而如果我通过ExtractingRequestHandler导入PDF,则需要大约11秒来对其进行索引。

我也尝试了示例-DIH中的tika示例,但似乎也没有索引任何内容。我做错了什么,或者这只是不起作用?

我在OSX 10.6.3上运行Java 1.6.0_20。

(我应该注意到我已经在solr-user邮件列表上发布了这个并没有得到答案。)

1 个答案:

答案 0 :(得分:2)

solr-user邮件列表上的某个人有答案:http://lucene.472066.n3.nabble.com/TikaEntityProcessor-not-working-tp856965p867572.html

基本上,在版本0.6之后引入的Apache Tika中存在一个错误,它显然仍然出现在目前位于Solr主干的0.8快照中。下载Tika 0.6(来自http://archive.apache.org/dist/lucene/tika/)并将tika-core-0.6.jar和tika-parsers-0.6.jar复制到修复该问题的路径中。