2014-06-30 55 views
3

我们正在用Solr和Lucene构建PDF搜索机器,用户可以在其中搜索PDF文本。该数据库只包含PDF。Solr PDF搜索:“转到页面”功能

在搜索结果页面(“/ browse”)中,我们想要附加带有#page = X的PDF文件,其中X是文本被发现的页面。 (如果有锚标签中指定的Adobe Acrobat自动滚动到某一页。)

例如,如果我搜索foobar,有一个PDF文档,其中foobar是第5页上,该链接应该是http://pdfserver/pdfs/pdf.pdf#page=5(注意锚最后)。

  1. 这可能吗?
  2. 我们如何得到这个页码?
+0

我不认为我明白你实际想要达到的目标。你想索引PDF文件和任何搜索,你可以返回匹配文本的页码或是其他东西吗? –

+0

没错。因此,如果我搜索“foobar”,并有第5页“foobar”的pdf文档,链接应该是http://pdfserver/pdfs/pdf.pdf#page=5 –

+0

您是否曾经找到过解决方案?索引一系列PDF文件时,似乎是一项基本要求。 – MrTelly

回答

0

Apache tika可以将PDF文件转换为结构化数据,以供您输入到solr服务器。

我对你的问题的方法是每页索引每个pdf,附加字段链接到章节,文本标题(或绝对路径,或两者)和页码。使用这些数据,你可以打开相关文档在相关页面。

了解更多关于蒂卡这里:http://tika.apache.org/

1

一个容易实现的解决方案,我发现是使用嵌入在IE当时,Adobe阅读器支持#search参数。

例如:

http://pdfserver/pdfs/pdf.pdf#search=foobar

ADOBE READER,然后跳转到该页面。

当然,您需要对搜索条件进行网址编码。