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


Organizing and managing thousands of PDF-Files in PHP and 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)对我来说最有意义。