Why don't file managers use the Master File Table for instant search results? [closed]
Solution 1:
Because of Security!
That's the real reason. (And the only real reason, in my opinion -- it's not that hard to make a reader for major file systems, although it's by no means easy; making a writer is the real challenge.)
A program like this bypasses the entire (file) system's security infrastructure, so only an administrator (or someone else who has "Manage Volume" privileges) can actually run it.
So obviously, it wouldn't work in many scenarios -- and I don't think Microsoft (or any other big company) would ever consider making a product like this and then encouraging users to run as administrators, because of the security ramifications.
It would be theoretically possible to make a system which runs in the background and filters out secured data, but in practice it would be a lot of work to get correct and without security holes for production.
By the way I haven't used UltraSearch, but I'd written a very similar program myself a few years ago which I open-sourced just last month! Check it out if you're interested. :)
Solution 2:
File managers have to be able to support every single filesystem that could be encountered. As such, they have to call into the VFS via its API. There is no (sane) way to return a large array from an API call, which results in the file enumeration being serial regardless of the presence of a MFT/FAT/superblock.
Solution 3:
File indexing service is for user who would like to search content (most likely text) and metadata of files, not merely filename. That's why it takes a long time go walk through all the files and the index built from such services is big and relatively slow. You can disable indexing service in Windows but windows explorer is stupid enough to keep searching file content after filenames. As Ignacio Vazquez-Abrams said the file managers cannot take advantage from low-level file system.