Tried to post this to the Win7 feedback form, but it told me "the answer of the question is too long." Yes, this is rather wordy but a) tell me how close I am to the limit and b) it's not a freaking answer. it's feedback.
Windows Search for Win7 is broken in the default installation. This probably goes back all the way to Windows Search 4 for XP, which I rapidly uninstalled because it couldn't find things that the old search could find
In searching my harddisk, I was looking for the three character word "myc" in my files. I couldn't find it. I navigated to the directory where I knew I had one specific file that had that key word (a .doc) and about 10 other files that I suspected at least
one contained it. I typed myc in the search box - no hits. I typed content:myc - no hits.
These threads provided me with helpful advice, but aren't the complete solution (without installing 3rd party tools)
http://social.technet.microsoft.com/Forums/en/w7itproui/thread/ecbecc00-f3e7-429f-87cd-8900fc313add
http://social.answers.microsoft.com/Forums/en-US/w7files/thread/aadfe1f1-4a33-406b-8e72-bb920efa4f30
After following the advice of using the content:"word" syntax and changing the indexing options, I can find MOST things including this "myc" search, but not yet everything. I suspect it has to do with the file types that will be searched. Regardless, why
this didn't work straight out of the box, I can't begin to fathom. Especially when I drill to a directory, the default option should be to search file contents and in all files.
How is it still broken?: it will not search unknown file extensions. If I have a file named bob.txtxtxtxtxt that in that folder when I'm looking for myc, windows search will refuse under all circumstances to look in that file unless I specificially add it
to my list of known extensions. If the file was named bob (without an extension) I don't know how it would be handled. Regardless, I can't be bothered to find out what all unregistered extension types I have on my harddrive (how would I find out anyway with
a defective search?) register them, turn on content indexing for that file type yada, yada. When doing a deep search, all files and all filetypes should be included (unless perhaps specifically EXCLUDED - I might not want to do a deep search in any .com files)
There are also reports that if the file was unicode encoded, the contents wouldn't be found, which should be fixed as well. I can see in some circumstances, if win7 doesn't know what program has encoded a document, it might not be able to find the search
term. For instance, I wouldn't blame it if it couldn't find where I had "myc" but each letter was specified as a different font size and color, if it didn't understand the encoding.
Here's how I would propose addressing the issues herein as well as the indicated threads
If keywords (e.g. "content:") are not used
- do a search through the index for the filenames
- search the index for file contents
- do an exhaustive search of filenames on the harddrive through the file tables
- After those searches are complete, display an additional button at the top of the search results that says basically "would you like to search inside file contents as well?"
- If the button is pressed ADD to the search results any files with contents matching the criteria, including unregistered file types.
If a specific folder is being used, do all the steps above but search within file contents without displaying the "search inside" button.
I'll leave it up to the programming wizards of microsoft to determine if this would return quickest results for the common users from iterative steps (do this, then that, then that) or parallel processing (start this, okay...before that comes back, start
that, do this too), given harddrive seek times and memory loads, but regardless it should be emphasized that the most important thing to get is exhaustive and complete results for every search eventually, and not ignoring file extensions that aren't in your
database.
As you are searching inside files for specific content, use that opportunity to refresh the search index file, including content inside unregistered file types (assume plain .txt formatting) to improve the next search's performance - feel free to drop this
in a seperate index file if you're concerned about corruption of the general search index.
The initial search behavior programmed into windows XP was very good for my use (except perhaps for unicode docs from time to time), but I completely understand why you would want to improve the search time. I have storage of about 1.5 TBs on my XP desktop
(including 750GB external) and hundreds of thousands of files - every complete search, just of file names, on that computer takes over 15 (maybe 30-60) minutes to complete. So, obviously the index would benefit me there if I can trust the results and/or tell
it to do an exhausive search that I CAN trust.