0

我正在编写一个程序,它通过文件名和文件内容(纯文本)搜索整个文件系统。是否有任何算法或开源项目可以使搜索非常快?我正在使用FAT/NTFS文件系统的 Windows 上执行此操作,并且我不想要索引。

4

2 回答 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 回答