我正在编写一个程序,它通过文件名和文件内容(纯文本)搜索整个文件系统。是否有任何算法或开源项目可以使搜索非常快?我正在使用FAT/NTFS
文件系统的 Windows 上执行此操作,并且我不想要索引。
问问题
2053 次
2 回答
2
如果您仅按文件名/文件属性/文件日期搜索,获得最佳性能的“魔术”方法是手动“解析”文件分配表(如果文件系统是 FAT)和主文件表(如果文件系统是 NTFS)。
对于 FAT 文件系统来说并不太难,因为它非常简单且有据可查,但对于 NTFS 来说就更难了,因为文件系统要复杂得多,而且文档也不是那么好。
如果您还想搜索文件内容,那么除了枚举所有文件并通过其内容读取之外,别无他法。您将始终受到磁盘读取速度的限制,如果不索引文件内容就无法优化它。
于 2012-08-06T08:26:59.697 回答
1
在 SourceForce 上下载了一个 NTFS 搜索器(名为 NTFS-Search),它做得非常好!它首先读取“FAT”一次,然后速度非常快。只有界面是德语的。
您可以使用 SVN 下载源代码:
svn co https://ntfs-search.svn.sourceforge.net/svnroot/ntfs-search
于 2013-01-10T21:05:49.650 回答