我需要搜索〜280,000个文件,并返回并打开正确的文件。文件名是预期搜索词的完全匹配。
搜索词将由使用PHP的输入框进行。实现此目的的最佳方法是什么,以便搜索不会花费大量时间?
谢谢!
答案 0 :(得分:2)
我怀疑文件系统本身会在一个目录中使用280,000个文件。
我过去采用的一种方法是根据文件名的首字母将这些文件放在子目录中,例如。
1/100000.txt
1/100001.txt
...
9/900000.txt
等。您可以使用第二个字母等进一步细分。
答案 1 :(得分:0)
很好你在标签中添加了mysql。理想情况下,我将有一个CRON任务,将目录索引到一个mysql表,并使用它来进行实际搜索。代数比文件系统迭代更快。您可以每天或每小时运行任务,具体取决于文件更改的频率。或者使用Guard之类的东西来监视文件系统的变化并进行适当的更新。