在solr中获取pdf的searchresult的页码

时间:2013-02-27 15:41:26

标签: pdf solr full-text-search apache-tika solr-cell

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

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

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

我在这里找到了这个“Indexing PDF with page numbers with Solr”,但它并没有真正有用。

4 个答案:

答案 0 :(得分:2)

我现在拆分PDF并将每个页面分别发送给SOLR。 因此,每个页面都是一个标识为<id_of_document>_<page_number>的自己的文档,另外一个字段doc_id只包含<id_of_document>,用于对结果进行分组。

答案 1 :(得分:0)

JIRA SOLR-380带有补丁,您可以查看。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我自己没试过。 方法,

  1. 与Apache Tika解析器集成的Solr客户连接器,用于索引PDF
  2. 在Solr中创建多个属性,如page1,page2,page3 ...,pageN - 或者,可以在Solr中使用动态属性
  3. 在客户连接器中,逐页阅读PDF,将它们索引到相应的页面属性/动态属性
  4. 启用所有“页面”属性的搜索
  5. 当用户搜索时,使用“突出显示器/摘要/预告片”组件仅检索已点击的“页面”属性
  6. 对于给定记录具有匹配(从突出显示器/摘要/预告器中找到)的“页面”属性是具有搜索短语的页面。
  7. 将PDF链接到PDF的“#PageNumber”,然后单击
  8. 弹出页面

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

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