我想进行搜索以便:
1) 它可以在大量 pdf 文件中搜索文本。具体来说,我想在一个嵌套目录多层的目录中搜索,它们大多是 pdf 文件。大约有 50K 个文件(每个文件大约 10-50 页),因此性能至关重要。
2)当找到结果时,它应该返回匹配项加上上下文(想想grep -C 2
),而不仅仅是包含查询的文件的名称。
我想使用命令行可能会更容易,但如果更简单的话,我不介意使用程序。我不需要通配符或正则表达式功能,但它应该支持将字符串作为文字短语(“不”)。
此脚本有点类似于我需要的,但它使用 grep 来获取结果,而 grep 不理解 pdf(并且我不想在每次搜索时将每个 pdf 转换为文本)。
有办法吗?谢谢。
答案1
作为 Linux 用户,我会想到以下两个选项:
雷科尔– 功能强大的桌面搜索工具,具有 GUI 和 CLI。在上下文中显示搜索结果。上下文详细程度可配置(选项 → GUI 选项 → 搜索参数)。与 Spotlight 类似,它要求在执行搜索之前进行索引。
➥ 用于大型文档库
pdfgrep– 相当于 CLI 工具 grep 的 PDF。还可以在上下文中显示结果。上下文详细程度也是可配置的 (
--context <number of words>
)。无需预先构建索引即可工作。对于较大的文档库,速度比 Recoll 和 Spotlight 慢几个数量级。➥ 使用此功能可快速搜索较小的集合
两者均可通过 macports 获得。