使用 Algolia 搜索(提取文本)PDF 文件

Searching (extracting text) PDF files with Algolia

对于拥有大量 PDF 文件的客户来说,这只是一个推测。

A​​lgolia 在他们的常见问题解答中说,要搜索 PDF 文件,您首先需要从文件中提取文本。你会怎么做?

我设想的系统工作方式是:

它需要是一个自动化系统,因为客户端不必告诉它编制索引。 它将在 PHP 中构建,可能 Laravel 运行 中 Ubuntu。

什么软件/服务可以从 PDF 中提取文本?'link' PDF 文件需要什么魔法吗?

我也很乐意就可以处理此问题的其他搜索服务提出建议。

幸运的是,从 pdf 中提取文本是一个已被多次提及的主题。在命令行上,您可以使用 pdftotext(在 Linux 或 Mac 上可用)或在您的代码库中使用 Apache Tika (for which you can find a PHP wrapper).

为了避免在您的记录中出现过多噪音,我建议您随后拆分文本并为每个段落创建一个记录。然后,您可以使用 Algolia 的 distinct 功能对结果进行重复数据删除。

您应该已经在某处拥有指向您文件的链接,只需将它们存储在您的记录中,然后在您的前端您就可以轻松地使用 autocomplete.js or instantsearch.js 等方式创建指向它们的链接。

对于仍在寻找解决方案的任何人,我整理了一个 GitHub 存储库,它正是这样做的:https://github.com/PDFTron/pdftron-document-search

当用户使用 React + Firebase + Algolia 上传文档时,文本提取发生在客户端。

您可以查看一段快速视频,引导您完成示例应用程序:https://youtu.be/IQATnzHTp7Q

如果您有任何问题,请告诉我。