使用 Solr CELL 的 ExtractingRequestHandler 从包格式中索引/提取文件
-
26-09-2019 - |
题
您可以使用任何压缩文件格式(zip,tar,gz等)使用提取requesthandler和tika来提取内容以进行索引?
我使用curl 向solr 发送archived.tar 文件。卷曲”http://localhost:8983/solr/update/extract?literal.id=doc1&fmap.content=body_texts&commit=true“ -h'content-type:application/optram-stream' - data-binary”@/home/home/archived.tar“我查询文档时得到的结果是,存档中的文件名被索引为“” body_texts”,但是这些文件的内容未提取或包括。这不是我所期望的行为。参考:http://www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/Content-Extraction-Tika#article.tika.example。当我使用相同的卷曲命令在存档中发送1个实际文档时,提取的内容将存储在“ body_texts”字段中。我是否错过了压缩文件的步骤?
我已经添加了所有提取依赖项,如 mat 所示http://outoftime.lighthouseapp.com/projects/20339/tickets/98-solr-cell 并且能够从MS Word,PDF,HTML文档中成功提取数据。
我正在使用以下库版本。Solr 1.40、Solr Cell 1.4.1、Tika Core 0.4
鉴于我已经阅读的所有内容都应该支持从压缩文件中的所有文件中提取数据。任何帮助或建议将不胜感激。
解决方案
简短的回答:Solr Cell 1.4.1 和 Tika Core 0.6。
长答案:经过一番头痛之后,我终于能够正常工作了。我将为直接使用 solr 的人和使用 solr 与 Ruby 库 sunspot 的人(这是我的问题)回答这个问题。
这就是我所做的:我用过这个 https://github.com/tomasc/sunspot_cell 扩展太阳黑子并赋予其附件功能的插件。(如果您不使用 ruby/sunspot,请忽略此步骤)
v1.4.1 适用于单个文件,但不适用于压缩文件,因此我必须进行一些探索。我从以下位置下载了 v1.4.1 代码库 http://lucene.apache.org/solr/ 并抓住了 dist/apache-solr-cell-1.4.1.jar 然后我不得不从 1.5 分支中拉取 Tika 库 http://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/