我们正在使用Solr和Lucene构建PDF搜索机器,用户可以在其中搜索PDF文本。该数据库仅包含PDF。
在搜索结果页面(“/ browse”)中,我们要使用#page = X附加PDF文件,其中X是找到文本的页面。 (如果使用锚标记指定,Adobe Acrobat会自动滚动到某个页面。)
例如,如果我搜索foobar
并且第5页上有foobar
的pdf文档,则链接应为http://pdfserver/pdfs/pdf.pdf#page=5
(请注意结尾处的锚点)。< / p>
答案 0 :(得分:1)
我发现一个易于实现的解决方案是使用Adobe Reader在嵌入IE时支持的#search
参数。
例如:
http://pdfserver/pdfs/pdf.pdf#search=foobar
Adobe Reader跳转到该页面。
当然,人们需要对搜索词进行URL编码。
答案 1 :(得分:0)
Apache tika可以将PDF文件转换为结构化数据,以便您将其提供给solr服务器。
我对你的问题的处理方法是每页编制每个pdf索引,额外的字段链接到章节,文本标题(或绝对路径,或两者)和页码。使用这些数据,然后您可以打开相关文档相关页面。
在此处阅读有关tika的更多信息:http://tika.apache.org/