我有一个包含很多文件的文件夹,我需要优化搜索速度,因为我有超过 1k 的不同文件要搜索,实际上我正在使用这个:
for path,dirs,files in os.walk('M:/MYFOLDER'):
但是搜索所有文件夹需要很长时间(超过 30 分钟)(因为它逐个文件搜索),但“Windows 搜索”需要 20 秒才能找到它。
您知道一些优化搜索并使其更快的技巧吗?
感谢您的任何提示。
我有一个包含很多文件的文件夹,我需要优化搜索速度,因为我有超过 1k 的不同文件要搜索,实际上我正在使用这个:
for path,dirs,files in os.walk('M:/MYFOLDER'):
但是搜索所有文件夹需要很长时间(超过 30 分钟)(因为它逐个文件搜索),但“Windows 搜索”需要 20 秒才能找到它。
您知道一些优化搜索并使其更快的技巧吗?
感谢您的任何提示。
你在信息检索的土地上,而不是每次都从头开始搜索 - 做搜索引擎所做的事情:
这种方法不仅允许您稍后返回相关文档,而且还允许您通过使用一些已经证明的启发式方法(例如tf-idf 模型)将它们从最相关到最不相关进行排名。
有一个名为Lucene的开源项目,它还具有可以帮助您实现的python 绑定。Lucene 是一个成熟的广泛使用(并且经过广泛测试)的信息检索库(例如,用于 eclipse 搜索)
PS如果您发现自己对信息检索更感兴趣,我建议您阅读 Manning 的信息检索简介- 它会让您对该领域有很好的理解 - 但对于应用您的任务来说,这真的不是强制性的。
您可以使用Windows Search SDK + Python ctypes。