3

我正在构建一个 Web 应用程序,用户可以在其中搜索 pdf 文档并使用 pdf.js 查看它们。我想显示搜索结果,其中包含找到搜索词的段落的简短片段以及在右侧页面打开文档的链接。

所以我需要的是每个搜索结果的页码和一个简短的文本片段。

我正在使用 SOLR 4.1 来索引 pdf 文档。索引本身工作正常,但我不知道如何获取搜索结果的页码和段落。

我在这里找到了“使用 Solr 用页码索引 PDF ”,但这并没有真正的帮助。

4

4 回答 4

2

我现在拆分 PDF 并将每个页面分别发送到 SOLR。因此,每个页面都是一个自己的文档,带有一个 id<id_of_document>_<page_number>和一个附加字段 doc_id,其中仅包含<id_of_document>用于对结果进行分组的字段。

于 2013-03-21T11:14:15.100 回答
0

JIRA SOLR-380有一个补丁,您可以查看它。

于 2013-02-28T04:12:43.517 回答
0

我自己没有尝试过。方法,

  1. Solr 客户连接器与用于索引 PDF 的 Apache Tika 解析器集成
  2. 在 Solr 中创建多个属性,例如 page1、page2、page3…、pageN – 或者,可以在 Solr 中使用动态属性
  3. 在客户连接器中,逐页阅读 PDF,将它们索引到相应的页面属性/动态属性中
  4. 在所有“页面”属性上启用搜索
  5. 当用户搜索时,使用“highlighter/Summary/Teaser”组件只检索有命中的“page”属性
  6. 对给定记录具有命中(从荧光笔/摘要/预告片中查找)的“页面”属性是具有搜索短语的页面。
  7. 将 PDF 与 PDF 的“#PageNumber”链接并在单击时弹出页面

与拆分 PDF 并将它们作为单独的 Solr 文档进行索引相比,这是一种更好的方法。

如果您在此设计中发现缺陷,请回复我的帖子。我会尝试解决它。

于 2018-05-03T16:49:02.497 回答
0

我也尝试使用页码获取结果,但无法做到。我使用 Apache PDFBox 来拆分目录中存在的所有 PDF 并将文件发送到 Solr 服务器。

于 2016-09-02T04:20:48.380 回答