Solr 的 TikaEntityProcessor 不工作

标签 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>

我正在使用 trunk 中的 Solr(截至上周)。导入过程无误地完成,它从数据库中提取列,而不是 PDF 文件中的内容。它肯定是在尝试访问 PDF 文件,因为如果我给它一个不正确的路径名,它就会提示。不过,它似乎并没有尝试索引 PDF,因为它在大约 40 毫秒内完成,而如果我通过 ExtractingRequestHandler 导入 PDF,则需要大约 11 秒来索引它。

我也尝试过 example-DIH 中的 tika 示例,它似乎也没有索引任何内容。我是不是做错了什么,或者这还没有奏效?

我在 OSX 10.6.3 上运行 Java 1.6.0_20。

(请注意,我已经将其发布在 solr-user 邮件列表中,但没有得到答复。)

最佳答案

solr-user 邮件列表中有人给出了答案:http://lucene.472066.n3.nabble.com/TikaEntityProcessor-not-working-tp856965p867572.html

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

关于Solr 的 TikaEntityProcessor 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2953434/

相关文章:

solr - tika solr 集成

solr - Elasticsearch-国家相似度

python - 谁能提供 django-haystack 与 solr 5.x 的完整示例?

solr - 无法在 Solr 4.0 中使懒惰的工作

java - 如何使用 Apache Tika 通过 Apache Metadata 类提取 "From"、 "To"和 "Subject"字段?

pdf - 索引 pdf 文档

ruby-on-rails - 使用 Solr 在生产环境中设置 Ruby on Rails 应用程序

grails - 将apache-tika依赖项添加到grails项目中的正确方法是什么

java - 如何使用java删除包含非单词字符的行?

solr - 使用/solr/update 建立索引时如何提升 SOLR 文档