我正在帮助我的一位前任老师建立一个网站,他可以在该网站上与他的同事交换类文件(考试、学生练习纸等)。他亲自创建了数千个 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/