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

Ric*_*vin 3 php search algolia

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

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

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

  • 客户通过 CMS 上传 PDF
  • CMS 调用一些服务/程序来提取文本
  • Algolia 对提取的内容进行索引,并以某种方式链接到原始 PDF

它需要是一个自动化系统,因为客户端不应该告诉它索引。它将用 PHP 构建,可能是在 Ubuntu 上运行的 Laravel。

什么软件/服务可以从 PDF 中提取文本,是否需要将其与 PDF 文件“链接”?

我也很高兴对可以处理此问题的其他搜索服务提出建议。

Jer*_*ska 5

幸运的是,从 pdf 中提取文本是一个已经多次讨论过的主题。在命令行上,您可以使用pdftotext(在 Linux 或 Mac 上可用)或在您的代码中使用一个库作为Apache Tika(您可以找到一个PHP 包装器)。

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

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