php - 在 PHP 和 MySQL 中组织和管理数千个 PDF 文件

标签 php mysql

我正在帮助我的一位前任老师建立一个网站,他可以在该网站上与他的同事交换类文件(考试、学生练习纸等)。他亲自创建了数千个 PDF 文件,现在可供其他教师引用/使用。

其中一项主要功能是搜索功能,允许用户搜索特定文件。由于文档太多,我们需要想出一种有效的方法来搜索所有文档。

我想到了几种方法:

a) 手动分配每个 PDF 文件 5-10 个关键字,并将它们与文件的元数据一起保存在 MySQL 数据库中。用户将搜索这些关键字,而不是直接搜索 PDF 的内容。

b) 使用某种逻辑以编程方式提取 10-20 个最常用的关键字,并将它们与文件的元数据一起保存在 MySQL 数据库中。在我看来,这是比 a) 更好的方法。

c) 使用 file_get_contents 提取大部分/所有 PDF 文件文本内容,并将这些内容与文件的元数据一起保存在 MySQL 数据库中。用户现在能够对实际文本内容本身执行搜索。在我看来,这是最好的方法。

d) 我没有提到的任何其他方法?

我不确定这些方法的可行性(即 c 是否会消耗大量服务器端资源?事实上,我们将筛选数千个数据库行,每行提取文本内容中的数百个单词。

我希望你能给我一些建议,看看我是否走在正确的轨道上,以及你认为最好的方法是什么。非常感谢!

最佳答案

方法 (a) 是您的答案(在我看来)。搜索所有文件内容在实践中是不可行的。提取 10-20 个最常用的词只会误导您的搜索,因为零保证这些词在描述它们来自的文档时有意义。提取大部分文本可能很有用,但搜索速度会慢很多,而且与使用关键字的搜索相比,它是否会使搜索更好或更差,这并无定论。

撇开一切不谈,这主要是基于意见。没有正确或错误的方法来解决这个问题,方法 (a) 对我来说最有意义。

关于php - 在 PHP 和 MySQL 中组织和管理数千个 PDF 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26274233/

相关文章:

php - 在 MySQL 服务器之间移植存储过程

php - 在特定条件后如何显示表格?

MySQL - 在 WHERE IN 查询中保留重复项和顺序

php - 从 php&code 插入时,数据没有出现在数据库中

php - 是否可以从 PHP 中的两个不同服务器连接两个表(一个 Mysql,另一个 Oracle)?

php - UTF8 -> Latin1 难度,PHP

php - 我可以将 .user.ini 文件放在 PHP 文档根目录之外吗?

php - 图库图像过渡

php - laravel 中的“无法创建目录”错误(在服务器上)

mysql - 分析 MySQL 中一个或多个表中的数据