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

标签 java solr full-text-search apache-tika solr-cell

您可以将 ExtractingRequestHandler 和 Tika 与以下任意一项一起使用吗? 用于提取内容进行索引的压缩文件格式(zip、tar、gz 等)?

我使用curl 向solr 发送archived.tar 文件。 curl ” http://localhost:8983/solr/update/extract?literal.id=doc1&fmap.content=body_texts&commit=true ” -H '内容类型:应用程序/八位字节流' --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”字段中。是 我缺少压缩文件的步骤吗?

我已经添加了所有提取依赖项,如 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

鉴于我读过的所有内容,这个版本的 Tika 应该支持提取 压缩文件中所有文件的数据。任何帮助或建议都会 受到赞赏。

最佳答案

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

长答案:在经历了很多头痛之后,我终于能够让它工作了。我将为直接使用 solr 的人和使用 solr 与 Ruby 库 sunspot 的人回答这个问题(这是我的问题)。

这就是我所做的:我使用了这个 https://github.com/tomasc/sunspot_cell扩展太阳黑子并赋予其附件功能的插件。 (如果您不使用 ruby​​/sunspot,请忽略此步骤)

v1.4.1 适用于单个文件,但不适用于压缩文件,因此我必须进行一些探索。我从http://lucene.apache.org/solr/下载了v1.4.1代码库并捕获了 dist/apache-solr-cell-1.4.1.jar 然后我不得不从 1.5 分支 http://svn.apache.org/viewvc/lucene/solr/branches/branch-1.5-dev/contrib/extraction/lib/ 中拉取 Tika 库.

您可以单独下载每个,也可以使用 svn 通过

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

或者只是 checkout 库文件夹:

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

关于java - 使用 Solr CELL 的 ExtractingRequestHandler 从包格式中索引/提取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4017200/

相关文章:

postgresql - 使用同义词的 Postgres 全文搜索

java - 从代码覆盖中排除枚举类?

java - 如何检查图像是否已存在于本地

java - 泛型的二维数组创建

hadoop - Lily Hbase Indexers 无故退出

python - 如何使用 pymongo 将精确匹配词传递给 mongodb 查询?

MySql 全文搜索使用 2 个字符的词

java - 使用M种预定义颜色中的N种进行颜色量化

azure - Sitecore 8.1 : Steps for converting the Lucene Search to Solr

PHP Solr PECL 扩展安装