如何索引PDF文件并搜索关键词?

8 投票
3 回答
14730 浏览
提问于 2025-04-16 22:15

我手里有一堆PDF文件(几百个)。这些文件没有什么特别的结构,也没有特定的字段,里面全是文字。

我想做的事情:

我想给这些PDF建立一个索引,然后可以根据这个索引搜索一些关键词。 我想知道某个关键词是否在PDF文档里,如果有的话,我还想知道这个关键词出现在哪一行。 比如,如果我在一个包含“Google”这个词的PDF里搜索,我希望能看到“Google是一个很棒的搜索引擎”这句话。

我决定怎么做:

我考虑使用SOLR或者Whoosh,但SOLR在PDF支持方面看起来更好。我比较喜欢用Python编程,而Sunburst是一个基于SOLR的工具,我觉得挺不错的。 SOLR的示例项目有一个关于价格比较的架构文件。现在我不太确定我能否用SOLR来解决我的问题。

你们有什么建议吗?任何意见都非常感谢。

3 个回答

2

我曾经用一种方法解决了这个问题,就是把PDF文件转换成文本,使用的工具是 pdftotext(我想 pdftohtml 也可以用)。这样我就生成了一个类似“缓存”的东西。然后我用 grep 工具在这个文本文件的缓存里搜索关键词。

这个方法和你提的方案有点不同,但我想你也可以在Python里调用这个方法。

4

还有一个离线/独立的解决方案:

5

我觉得Solr很适合你的需求。

你需要的就是“高亮”这个功能。为了使用这个功能,你需要把文档放到lucene索引里进行索引和存储。

高亮功能会返回一个片段,其中搜索到的文本会被标记出来。

你可以看看这个链接: http://wiki.apache.org/solr/HighlightingParameters

撰写回答