使用Solr CELL的ExtractingRequestHandler从包格式索引/提取文件

你可以使用ExtractingRequestHandler和Tika与任何压缩文件格式(zip,tar,gz等)来提取内容以进行索引吗?

我正在使用curl发送solived archived.tar文件。 curl“ http:// localhost:8983 / solr / update / extract?literal.id = doc1&fmap.content = body_texts&commit = true ” -H’Content -type:application / octet-stream’ – data-binary“@ / home /archived.tar“我查询文档时得到的结果是归档中的文件名被索引为”body_texts“,但这些文件的内容未被提取或包含。 这不是我预期的行为。 参考: http : //www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/Content-Extraction-Tika#article.tika.example 。 当我使用相同的curl命令在存档中发送1个实际文档时,提取的内容然后存储在“body_texts”字段中。 我错过了压缩文件的步骤吗?

我在http://outoftime.lighthouseapp.com/projects/20339/tickets/98-solr-cell中添加了所有提取依赖项,如mat所示,并且能够成功从MS Word,PDF,HTML文档中提取数据。

我正在使用以下库版本。 Solr 1.40,Solr Cell 1.4.1,Tika Core 0.4

鉴于我所读到的所有内容,此版本的Tika应支持从压缩文件中的所有文件中提取数据。 任何帮助或建议将不胜感激。

简短回答:Solr Cell 1.4.1和Tika Core 0.6。

答案很长:在经历了很多头痛之后我才能让这个工作起来。 我将为使用solr的人和使用solr与Ruby库太阳黑子的人(这是我的问题)回答它。

这就是我所做的:我使用这个https://github.com/tomasc/sunspot_cell插件来扩展太阳黑子并给它附件function。 (如果你不使用ruby/太阳黑子,请忽略此步骤)

v1.4.1适用于单个文件,但不适用于压缩文件,所以我不得不探索一下。 我从http://lucene.apache.org/solr/下载了v1.4.1代码库并抓住了dist / apache-solr-cell-1.4.1.jar然后我不得不从1.5分支http中删除Tika库://svn.apache.org/viewvc/lucene/solr/branches/branch-1.5-dev/contrib/extraction/lib/ 。

您可以单独下载每个,或者您可以使用svn来检查分支

svn co http://svn.apache.org/repos/asf/lucene/solr/branches/branch-1.5-dev 

或者只是签出图书馆文件夹:

 svn co http://svn.apache.org/repos/asf/lucene/solr/branches/branch-1.5-dev/contrib/extraction/lib/