Follow-up: Windows Desktop Search

The discussion and email about desktop search offered an opportunity for us to have a deeper architectural discussion about engineering Windows 7.  There were a number of comments suggesting alternate implementation methods so we thought we’d discuss another approach and the various pros and cons associated with it.  It offers a good example of the engineering balance we are striving for with Windows 7.  Chris McConnell wrote this follow-up.  --Steven (See you at the PDC in a week!)

Thanks for all the great feedback on our first blog post on Windows Desktop Search.  I’ve summarized a number of points that have been made and added some comments about the architectural choices we have made and why.

Integration with the File System

As some posters have pointed out, one possible implementation is to integrate indexing with the file system so that updating a file immediately updates the indices.  Windows Desktop Search takes a different approach.   There are two aspects of file system integration: knowing when a file changes and actually updating the indices before a file is considered “closed” and available.   On an NTFS file system, the indexer is notified whenever a file changes.   The indexer never scans the NTFS file system except during the initial index.  It is on the second point—updating the indices immediately when a file is closed that we made a different choice.  Updating immediately has the benefit that a file is not available until it is indexed, but it also comes with a number of potential disadvantages.  We chose to decouple indexing from file system operations because it allows for more flexibility while still being almost real-time.   Here are some of the benefits we see in the approach we took:

  1. Fewer resources are used.  Inverted indices are global.  An inverted index maps from a word found in a property to a list of every document that contains that word.  Indexing a single file requires updating an index for every single unique word found in the file.   A single document might then update a very large number of individual indices.  Making these changes and committing them with the same robustness found on individual files would be very expensive.  The design of the indexer allows scheduling and aggregating these changes so that much less work is done overall—that means less CPU and less disk I/O.  The system can be more robust because indexing doesn’t only happen when a file is closed—and it can even be retried if necessary.

  2. File system operations are prioritized over indexing.  Getting files robustly updated and available is necessary for applications to use them.  We don’t want to delay that availability by forcing the cost of indexing into file close operations.   Searching over files is important, but is less important than actually working with files.  We wouldn’t want applications to decide individually if the indexer should be turned on or off just because they were seeking the best performance with respect to the file system.

  3. There are lots of file types.  Microsoft supplies extractors (IFilter/IPropertyHandler) for many common file types as part of Windows.  There are many other file types as well so it is important to allow non-Microsoft developers to write their own extractors.  In Vista (and Windows 7), these extractors run in a locked down process that ensures that they are secure and do not affect the performance of the whole system.  If indexing had to happen before a file was available, then an extractor could impact (intentionally or not) all file system operations.  

  4. Some files are more valuable to index then others.  If indexing happened when a file is closed, then there is no control over the order files are indexed.  Decoupling allows prioritizing indexing some files over others.  For example, searching for music is much more likely than searching for binary files.  If both music files and binary files have changed, then the indexer ensures it indexes the music files first.  Some files are not worth indexing at all for most people.  Several comments suggested that we should index the whole drive.  We can do that—and for those who would find it valuable it easy to add folders to be indexed.  (You can also remove them, but that is much less common so that is controlled through the control panel “Indexing Options.”)  For most people indexing system files is just a cost—they would never search for them and would be confused if they showed up as the result of a search. 

  5. Not everything is a file in single file system.  Windows is all about supporting diversity.  There are many different file systems like FAT32 and CDFS and we would like to be able to search over those as well.   If we integrated with only NTFS, then we would have to still have a loosely coupled system for other file systems.  Many applications also have databases optimized for their own needs.  For example, Outlook has a database of email.  If only files were indexed, then the email in the database could not be indexed unless Outlook either compromised their experience by using files only, or complicated their implementation by duplicating everything in both the file system and the database.

Advanced Queries

A number of people expressed frustration with the lack of an advanced query UI.  Microsoft has many advanced query user-interfaces in many products, but these are generally focused on well-defined query languages (SQL) or on specific domains (like the Advanced Find in Outlook).  With Vista we wanted to address the query problem in a manner more familiar to people today—a single edit control.  Our implementation supports a rich query language within that edit control.  This is the same approach people are familiar with for web searching for both standard and advanced queries.

We had two observations that led to this approach:

  1. The most important part of a search are the search terms.  Usually a single term is enough (and as we know from web searching, the majority of searches are one or two words).   And for refinement the file system tools of thumbnails, sorting, and/or type ahead can be used to narrow the search.  

  2. It is reasonable to consider a design for an advanced query UI covering property based search, but it will generally be unwieldy for all but the bravest people.  As we mentioned, Windows Search covers over 300 properties by default so if you show every property then the UI is unusable.  If we only show the most commonly used properties then how do you handle all of the other properties?  Would properties be grouped by the common application or by attributes such as times, names, file attributes, etc.?  Some of you might value the Outlook Advanced Find… interface, but there you see some of the challenges and that is within a specific domain where the grouping or related properties probably can be understood. 

In designing Vista we incorporated the feedback that it is desirable to do precise queries.  The approach taken in Vista was to support a rich query language which allows all properties and a fairly natural syntax.  For example typing “from:gerald sent:today” will find all email from “Gerald”  sent today!   The big issue is that people do not know or the query language.  In Windows 7, we have focused on helping people see how to use the query language in context. For now, you can see the following for some information on Vista’s query syntax.  Much of this syntax and experience is similar to web search that we all use today.

A number comments were about substring matches in filenames, which we do not currently support.  This is part of the overall discussion about advanced queries.  In order to efficiently execute queries, the indexer builds indices that are based on individual words.  In Vista we introduced “searching as you type” to our search UI.  Under the hood this is implemented as prefix matches on the indexed words.  So when you type, ‘foo’, we look for all terms that start with those letters including ‘food’ and ‘football’.    Even more interesting if you type ‘foo net’ we will match on items that have the words ‘food’ and ‘network’ in them.   (If what you really want is to match the phrase “foo net” then typing those words inside quotes will do that—another example of advanced query syntax)   We have focused primarily on searching for terms found in any property, but there is no question that filenames are special.  In recognition of that we support suffix queries on filenames.  If you type ‘*food’ then we will return files that end in ‘food’ like “GoodFood”.  We do this by reversing the filename and then indexing it as a word.  For example, the reverse filename of “GoodFood” would be “DooFdooG” which we index as a word.  The suffix query ‘*food” is transformed into a prefix query “doof*” over the reverse filename index—clever, no?   So we support prefix matches for all properties and suffix matches for filenames, but we do not support substring matches. 

Performance and Citizenship

A number of comments focused on improving performance and citizenship—and we definitely agree on this input.   We are always striving to make Windows do more with fewer resources.  For those who have turned off indexing all together we hope that our continued improvements will make you reconsider.  Even if you organize all of your files and don’t find search useful for files, perhaps you will find start menu search, email search or Internet Explorer 8 address bar search useful.  We have worked hard at improving performance and citizenship across Windows.  Some of this progress is visible in WS4 and soon in Windows 7.  We have improved along all of our dimensions including indexing cost, battery life, citizenship, query speed and scrolling speed.  We have some tremendous tools that help us track down performance problems.  If you want to help, please contact and we will tell you how to collect performance traces we can analyze so that we can continue to make improvements.

Chris McConnell

Find and Organize

Comments (77)

  1. says:

    One difference is that for desktop search, the query syntax is much more larger and comprehensive, for web search, it is relatively smaller. Why can’t a UI be built that changes the single edit box? Users who want the edit box control can use it, those who want the UI can use that. Several other third-party tools (including real-time and indexed search tools) on the market manage to ship with a powerful UI that makes searching so much easier. You say Windows Search covers over 300 properties but when why should users remember those many properties? The Outlook Advanced Find interface is too complex and an overkill but a UI that is similar to the real-time search in Windows 2000/XP can surely be developed. (Hint: Searching by file extension/file type is most most most needed in the UI and some *simple* way to search by wildcards such as M*.??x). Also, the location box is not editable/you cannot type the path into it. I don’t like going inside another dialog box from the search window to set my search location for instance.

    With Vista, the same window searches indexed as well as non-indexed content, but there are times when users only and only wish to perform a real-time desktop search. The functionality that covers "Include non-indexed, hidden and system files" should be reversed to say "Include indexed files".

    And then fix those minor issues such as not requiring users to click a tiny round arrow to access "Advanced Search" and keeping the "Advanced Search" expanded the next time the search window is opened if it was expanded when last closed.

  2. anonymuos says:

    Not sure whether this is related to the search team, but can the search box be built into the class Start menu as well so that users truly get a choice of using what Start menu to use?

  3. Pendragon says:

    Thanks for following up on this important topic. It’s also good to see that you are listening to our comments and concerns.

  4. lyesmith says:

    Asus CEO Jerry Shen says Eee will not go over 10-inch screen size and will offer Windows 7 by mid-2009

    Thats good news! Lower sys requirements, and confirmed release date!

  5. domenico says:

    Windows 7 end 2009 or 2010 I hope that the PDC is made on clarity release date.

    I’m sure Windows 7 will be a historic success. Short can see Notebook and UMPC with a mini Surface for the rest of us ,

    The team is working hard and..

    Go Team GO!!!

  6. locolorenzo says:

    In Win 7 I have left indexing on, it is lightning fast. I am on Server 2003… ow what a difference.

    What if you add a couple of options like radio buttons for those of use that have to search for dumb files like "io.h" on some obscure network drive.

    Better yet give a choice of machine use in set-up for Corporate, Programmer(Scientific) or Home User, and a preset config file or filter for each.

    Thank you for not using "whereis or find" from a command window.

    Also being able to give feed back on this site makes me feel a greater commitment to stay with MS.

    @steven thanks for this forum

  7. har0ld says:

    Honestly I don’t see how indexing is killing performances. I had WS4 on an old Aspire2000 (1g RAM) and well, nothing to be ashamed of when you see how it makes the flow so much better.

    "In Windows 7, we have focused on helping people see how to use the query language in context"

    The annoying dog is back! 🙂

    The advanced query is something people don’t want to learn even with Google on web. They will with time because with it you only need a search box for all your searches. No more Outlook search, web search etc, one box to rule them all and please, make it dockable everywhere I want (This is what WDS 2.6 was and it was COOL).

  8. Gigaplex says:

    Apologies for beating a dead horse, but I find the lack of substring search support appalling. Let’s say I want to search for a song "I Still Haven’t Found What I’m Looking For" that is in the current folder (and I know it is in the current folder) and that folder is not indexed as it is an external drive. Windows Media Player in all it’s wisdom defaults to prefixing file names with the track number. I don’t remember what the track number is, so I have to try the reverse order search (I only just learned about this now). However, this won’t work since the file is actually named "06 I Still Haven’t Found What I’m Looking For [Live].mp3" and I wasn’t aware that it had "[Live]" at the end. How is someone supposed to find this file? It worked fine in XP, and works fine when indexing is turned on, why id it not supported in non-indexed searches on Vista? If there is a workaround for this, I would like to know.

  9. Aberforth says:

    Well, the search doesn’t always give the exact results- the problem is windows doesn’t have a option to tag normal files (non image), like for example if I backup my project files in a RAR archive as "vs2008bkp.rar" and I forget the name and location, I’d like to tag it as "project backups". File management is the biggest problem in windows, that’s why User Group based interface is highly essential instead of standard one that suits all users.

  10. says:

    > find the lack of substring search support appalling. Let’s say I want to search for a song "I Still Haven’t Found What I’m Looking For" that is in the current folder (and I know it is in the current folder)

    I think it would be reasonable to index file names in a space-delimited fashion. That is, index each word of the file name. As for inner substring matches – I’m fine if that’s not supported.

    > why i[s] it [substring searching] not supported in non-indexed searches on Vista? If there is a workaround for this, I would like to know.

    So would I. Probably consistently, but it kind of makes search useless.

  11. sokolum says:

    If the technique for indexing is so much faster, is it not possible to implement that in the NTFS files system? To me sounds like the file system is outdated.

  12. anonymuos says:

    @Aberforth, I agree exactly. All we can do is hope and trust MS not to needlessly remove features from the next release. I *hate* the ability to not store metadata for any file type. And there are other quirks such as not being able to sort by a column until Vista finishes it’s search, no ability unless one installs an iFilter to index plain text files having some obscure extension. If the team is indeed reading the comments, then please be sure to read the comments received at

  13. ak47wong says:

    The query language is useful but I have not been able to find a way to include ratings in a search query. For example, to find all 5-star photos taken this year, I would like to say "kind:pics taken:>1/1/08 rating:5" but the rating: property seems to be undocumented and returns unpredictable results. Am I missing something here? It seems strange to give star ratings such prominence in the metadata UI and then not provide a way to search on them.

  14. d_e says:

    WS4 is faster than the previous versions on XP. Great job! This is the way to go.

    On Vista I never noticed any indexer-related performance problems at all. I’d be very impressed if you improved the performance further 🙂

    Also, I agree on the design choice (Metadata updates vs. indexer). BeFS used the metadata-update-approach which lead to reduced performance of all metadata-modifying operations (file creation, …).

    One of the best things in Vista is the start-menu-integreated search functionality. It’s faster for me to type "notep" than navigating trough the Programs-Menu. W7 could make use of the search feature in many more ways. The "Open file" common dialog comes to mind for example. Or when selecting desktop background images. And so on…

    Another thing: Sometimes I wished I could perform a regular search on Vista. Because I’m not 100% sure how the explorer search box works. Does it search in subfolders? Does it search trough the contents? Can I just search for the filename without getting search results because the content matches? Does it search hidden files? All those things were easy to answer and do with the classic XP search (not the dog-wizard). Right now I revert to using "dir" and stuff on the command line… Or is there already a better way in Vista?

  15. graye says:

    I’ve never really liked the fact that every incarnation of the search engine fails to identify the situation where you search on a file type that is not indexed.

    As it is now, if I search for a word in *.vb files (which by default is not index), I get the typical "No files found" message.   A more appropriate message would be "Sorry, that file type is not indexed".

    To do otherwise, is "lying to me".  I essentially have to choice but to use a 3rd-party search tool to accurately find text inside files.  In fact, I rarely (if ever) use the built-in search tool, since I can’t trust it’s results when it says "No files found".

    An even better solution would be "File type not indexed, do you want to search each file anyway?"

    How about an option to NOT look inside *.zip files.  From the first days of Windows, I have never had a need to look inside zip files during a search.

  16. Aberforth says:

    whatever happened to WinFS and Cairo…all this stuff can be easily managed if they had a dumbed down multi-threaded sql db running in the background because all the metadata can be easily managed, customized, re-located,indexed and backed up. I’m thinking of writing a poem on it…

  17. brbloom says:

    RE: Partial matching

    At least support word segmentation!

    I have "OpenPandora" on my start menu. When I want to start it, I hit the windows key and type "pan" and it doesn’t find it. I have to type "OpenP" (As I have more than one "Open*" item on my menu). Please use a dictionary and analysis of camel/pascal casing, underscores, etc. to segment and index based on that. It would alleviate 95% of all complaints about partial matches.

    Side note: I really like that this blog exists and there have been some great posts, but many posts still really reak of self-justification instead of an open dialog.

  18. daveli says:

    I stopped using search in Windows when I no longer got any hits while searching for files containing specified text. First I could not understand why I got not hits. I know there was files that contained the text I was looking for. Then I found out that Microsoft had changed how search worked. It no longer searched all files, just some type of files. I use search a lot for finding code to reuse, or to find where an error occurs by searching for the error message. So now I almost only use UltraEdit to search for files. I only use Windows search for finding files when I know parts of the file name.

    While reading this post, about how Windows search works now. I see that it is even more crippled. Not being able to search for only files with a specific file extension? Not being able to search for files with a specific word in the file name? I guess I have to keep using UltraEdit.

  19. bpaddock says:


    Your scenario isn’t what Chris was talking about.  Your file has spaces between the words, so each word will be indexed separately, and you will be able to find that song by searching for "looking for" or whatever substring of the file name you want.  As long as you aren’t searching for *part* of a *word* (like "ooking or").


    That’s exactly how WDS / Windows Search works and has always worked 🙂


    The index is (is built on) a database, running on a very robust database engine.

  20. bpaddock says:


    You can ABSOLUTELY search for files with a specific extension.  The extension is indexed separately from the filename itself.  You can search for part of a file name if it is:

    1) The beginning of the name, ie. "she" will find "shell32.dll"

    2) The end of the name "*ll32" will also work.

    3) Part of a word separated by a space or other breaking character.  So if I have a file named "Foo Bar-Something.txt" I can find it by searching for "bar" or for "Something"

    You can just search for .dll, *.dll, ext:dll, etc.

  21. steven_sinofsky says:


    I promise no "annoying dog".  Jon and I both can claim some level of responsibility for Clippy and as we’ve said we like to think of our team as a "learning organization" 🙂


  22. domenico says:

    For Consumer Enthusiast (like me)

    27-28-29 October

    Update in real time !

    Mr Steven we’re ready 😀

  23. mariosalice says:

    We can always enter cmd at c:users and type *vori* /s >vori.txt to get all files and folders under c:users that contain "vori", like favorites printed on file vori.txt.

    At least with Vista…

    We might also create batch files with %1 to search any substring this way.

    Is it so difficult for search to support the old dir functionality or is there another reason we don’t get this support?

  24. mariosalice says:

    With vista we can search substrings.

    Are we going to have the same functionality with W7?

  25. peck_ed says:

    The instant start search.

    Most useful feature for time saving.

    Least used by the people.

    For some reason everyone I show, says its amazing, but they never remember to use it, stuck in their old ways

  26. burgesjl says:

    Who ever knew that query syntax existed? Here’s your problem Microsoft: you’ve got way too much hidden stuff like this that can’t be discovered and that there’s no help or tutorial on from within the product. Sticking this on the MS Developers Network isn’t of any use to end users, be they novices or power users. You’ve got the same problems with Office now as well… functionality there is so well hidden, its completely lost.

  27. Andre says:

    "For those who have turned off indexing all together we hope that our continued improvements will make you reconsider.  Even if you organize all of your files and don’t find search useful for files, perhaps you will find start menu search, email search or Internet Explorer 8 address bar search useful."

    I’ve never searched files by their content except source files. And I currently have hundred thousands of source files in my local repository. Do you really think Desktop Search is the right tool to search within source files? When I sync to the (head) revision thousands of files gets updated. Is Desktop Search the right tool for that?

    So I won’t consider using Desktop Search at all. I also think that the indexing database is a security risk because malicious software can misuse the collected information and can hide behind the indexing service.

    And regarding address bar search, I hate the "Awesome bar" of Firefox. I’d almost dropped FX because of that if there wouldn’t have been Add-Ons to get the old behaviour back. How can you change a core feature without having a setting to get the old behaviour back? Horrible project management.

  28. sgtaylor says:

    "Who ever knew that query syntax existed? Here’s your problem Microsoft: you’ve got way too much hidden stuff like this that can’t be discovered and that there’s no help or tutorial on from within the product. — burgesjl"

    A clarion call to improve your help within Windows! Usually, all that is in any Help system is the information a beginner needs to get started with Windows (or that other program). Turning on the internet-enabled Extended Help doesn’t help for most of the queries I’ve typed in.

    It seems that searching with Google on the forums is the only way to go (and you still have to wade through all of the non-essential posts to *finally* find what you’re looking for).

  29. Prixsel says:

    *Reply do Andre

    How can you hate "Awesome bar" of Firefox 3? It shows exactly everything  similar that has those letters you searched for (looked up from your history).

  30. RuslanUrban says:

    While this topic covers technical aspects of the search, there other aspects of the search that concern me:

    1) How does the Desktop Search affect system power management (essential for laptops)? Is power consumption increased when indexing is turned on? It seems logical to assume that: storage media is accessed to read file contents, more processing power and more memory is needed to perform indexing, storage space and again storage media access is required to store the results.

    2) Security and privacy concerns. Can results of indexing contain data that was extracted from confidential documents, e-mails, etc.? Can indexing results get hijacked and transferred over the Internet to an unknown entity? Search engines would be happy to get their hands on the collected statistics.

    3) Many programs already have built-in functionality to index (media) files and maintain media libraries. Wouldn’t it be better to create similar libraries and only index folders or partitions that user wants to index? Selecting a specific catalog(library) during a search would narrow down search criteria, and searches can be performed much faster, giving more control to the user. I also strongly believe that searches should be more application specific, e.g File Search, Media Search, Document (Office) Search.

    @burgesjl I agree with your comment. User needs hints on how to use the advanced query language, at least. Alternative screen(s) that would allow more specific search criteria would be essential for a basic user. Not everyone is that advanced. It would also simplify life of the support personnel.

    Bottom line, WDS seems a gray area to me with questionable intentions.

  31. Andre says:

    @Prixsel: The "Awesome bar" might be awesome for people who can’t remember URLs. When I type in "win" I only want to see those sites which URL begins with win, but not the "Engineering WINdows 7" blog or "Hamilton WINs grand prix". I also have hundreds of bookmarks which I don’t want to see in the search results.

    The fact that I can’t switch back to the old behaviour just shows immature project management, even if people just want the old behaviour because they are used to it.

  32. Andre says:

    @har0ld: But but but.. I want Bob and his friends (Rover and Clippy) back :-<

  33. mariosalice says:

    I use Vista for two years, I thought I knew search but I always find new ways to do my job.

    This time I found I can install indexing service compatibility mode and I can also change whether to search subfolders or not, files only and/or contents.

    I new how to change those things but I never noticed what I could change.

    I suppose I know nothing, even though I thought I knew Vista.

  34. thecolonel says:

    you should *never* have to search the start menu just to find and launch a program. if it is in fact faster to do this than drill down through endless sub-menus, you have designed the start menu incorrectly. get away from vista – make things simpler

    as things stand, for me, the start menu has gotten way out of control. rather than adding yet another layer of pointless complexity please redesign it from the ground up so that everyone can find the program they want to launch as fast as possible. yes, even my 65 year old mother (whenever i ask her over the phone to launch a certain application it takes her about 2 minutes to find it as things stand)

  35. davewood says:

    I wanted to follow up on a couple of points by Ruslan and Andre:

    – We do various things in the search service to control power consumption on battery power. In our tests we have not found indexing to be a significant drain on battery power.

    – The data files containing the index are stored with restricted permissions so non-admin users do not have either read or write access. No index data is transported off the machine to other servers; and two different users on the same machine will not be able to see search results from each other’s data, unless they already have read access to that data. So I don’t think you need to have any security or privacy concerns from using the indexer.

    – Regarding different locations, the user does have control of what locations are indexed today through the Indexing Options control panel. And searches can be restricted to certain kinds of item {for example with the "kind:email" query syntax, or with the quick filter buttons at the top of the search pane in Vista}. So some of what you are suggesting is already possible, although I agree this is an area where more is possible.

    – Andre, lots of people are using Windows Search to index large amounts of source code, and in general I believe this works well. Indexing a couple of thousand files after you sync doesn’t take very long. I can’t guarantee this will work for your scenario but I wouldn’t dismiss it out of hand. And regarding security, again only processes running as administrator have access to the index.

  36. csmikle says:

    This is the second post where I’ve made comments and they never show up. I’m beginning to believe it’s because I used IE8 beta 2, and there is some bug devouring my comments.

    It seems this post is full of cool stuff I already have in Vista/WS4. What do we have to look forward to in 7? What’s your overall vision of the future?

    Here’s my little wishlist, as usual:

    i. Please work on finding a way to do substring search. Not being able to type ‘Note’ and find ‘OneNote’, for example, is a bit discouraging.

    ii. Please make it easier/more obvious to create a new Search Folder with the Advanced Search UI. The only time I see a ‘New Search’ button is when I’m already searching.

    iii. This is more Organize than Find — I would love a way to tag or add metadata to files that are not Office documents, or photos, etc. If you implement a way to add info to any filetype, I understand that it would not be portable or embedded in the file, but it would help oh so much. I would love to organize and group files by Categories and Tags, but it doesn’t even work for txt or pdfs — only for Microsoft files. Please help.

    iv. I think it would be awesome if the Start Menu UI could give us visual results like IE8 does, but for our images, documents, etc — a little but of Start++ functionality. I also think it would be awesome if searches didn’t need to be fixed at the corner of my screen and could be near my mouse or more like Launchy… but that’s probably for a different team.

  37. Xepol says:

    Why not work on consistancy in how the search works?

    Searching my start menu can frequently fail – instead of turning up items that have previously shown up (ie: start menu items that START in the word I am searching for), instead I get items that have nothing whatsoever to do with the search term.

    Honestly, I find the new search to be over reaching and the end result is a highly unstable and unfathomable result with inconsistant behaviour.

    Best examples:

    1. Having to search for my saved searches.  You sure can’t access them from the search page directly.  What was the point in saving them again?  Maybe I should save a search that shows where the searches are – oh wait…

    2. When you search in the start menu, it shows start menu items.  When you search in a folder, it shows folder items and subfolders.  

    Now try to search in control panel.  Drilling down has zero effect on scope.

    When you do get to something in the control panel that looks like a list (ie: the uninstall software list), it still searches the control panel applets, and not the list – which would be the more natural expectation from how search works everywhere else.

    It would be nice if search worked the same everywhere it was exposed and most importantly, it would be nice if it actually worked realiably, and finally it would be nice if features like saved searches were not so totally pointless.

    Oh, and if someone could provide a simple, well explained rational to upgrade to search 4 – that would be nice.  Other  I would rather not risk the upgrade hazard and inevitable disruptive reboot (I remember when they told us Vista would need less reboots on updates…. they lied, but that is a different point entirely.)

  38. Knipoog says:

    Hmm, I am rather organized I think, hardly ever use the Search, don’t put too much effort in it 😉

  39. UserOfManyOperatingSystems says:

    I run Desktop Search 4 on my XP laptop.  It really improved my search speed within outlook.  But outside of Outlook, my experience is really terrible.  The search interface is poor, and the relevancy of the hits that I get is poor as well.  


    1) I have a file on my desktop called ECS 260 Template Metaprogramming.  I tried searching for this using the word template.  I got a large number of results, none of which were this file.

    2) Ok, so maybe there are lots of files containing the word "template".  How about I try the phrase "ECS 260"?  There are only a few file on my system that contain that phrase, and I happen to know which ones they are.  Windows Desktop Search 4 returned 8 or 9 files.  None are that file, or one of the other files on my desktop with that phrase in the title.  In fact, none are in any way related to my search.  (I did get a bookmark for the old alt.2600 newsgroup, which does contain 260 as a substring.)  But these results were not even close!

    3) Ok, how about I place "ecs 260" in quotes?  Maybe that will force it to do a string match for the whole phrase.  It finds…no files at all!

    4) Ok, how about I search for the word "report"?  There is at least one file on my desktop that contains that word in its title.  Does it find it?  Nope.  But it does give me 460 matches of various files that contain the word "report" in there somewhere.  Probably a hundred e-mails and many other files.  None actually are the files on my desktop that contain that word.

    5) Ok, how about I give it a really big hint?  I set the folder to Desktop, and tell it to search for the word "report".  It finds lots of files with the word "report" in the text somewhere in subfolders, but none of the files on my desktop, which have report in their name!

    6) Just to see, I try clicking on one of the files it DID return.  It tells me its location, then says that the file can’t be found.  Same with a bunch of other files.  So in addition to returning wrong results, it returns outdated results too!

    So we have several problems here:

    1) Search results are not relevant to my search

    2) Search results are outdated

    3) Search results include any file that includes the search term(s) anywhere, and appears to be performing an "or" search rather than an "and" search, meaning that two terms make the results much more general.

    4) Search results do not include files that contain the search term in the filename

    5) The search interface is poor

    6) Search results are not ordered in any particularly meaningful way.

    This is much like using a search engine from the very earliest days of the web.  I think you can do better…

  40. n4cer says:

    ak47wong, to search for files with a specific rating, use either asterisks to represent the number of stars, or <number> stars.


    To find files with a rating of 3 stars:



    rating:3 stars

    Greater than or equal to 3 stars:



    rating:>=3 stars

    Greater than 3 stars:

    rating:>3 stars



    For unrated files, use:


    Regarding some of the comments about remembering the properties — it isn’t necessary to remember them. Right-click a file and click properties to see the properties that apply to files of that type. Also, any property can be added as a column in an Explorer window (right-click the column header and click More… for the full property listing). Once added, you can use the column’s drop-down menu to sort, stack, filter, or group by those properties, or right-click in the whitespace of the window and use the context-menu to do the same. Further, you can use whatever the property is named in the property list or column header as the keyword for an advanced query. For, example, Date modified and Date created are two property names. You can use date modified:, date created:, or just created: or modified: and some value, for the same respective results. You can also use just date: and some value which will return both files modified or created within a given date range.

  41. btriffles says:

    In your previous follow-ups, you guys generally acknowledged the common issues from the comments as areas of potential improvement.  This time, it seems to me like you dismissed all comments on the perceived faults of the advanced search UI.  I’m sure this was not intentional, but it is disheartening for those looking for improvements in Windows 7.

    Here is a review of some common complaints that I do not feel were adequately addressed:

    1) The query language is not a replacement for a good advanced UI.  Users shouldn’t have to learn a new language to perform anything more than basic searches.  (However, I do appreciate the effort that went into the new system.)

    2) As you admit, file names *are* special.  We should be able to search for substrings, even if this requires a few changes to the WDS.  Substring matches should also be considered for all fields, although I understand if this would require too much overhead.

    3) Options like "search only in file names", "search in only in content", and "do not search subfolders" should be available.  It should be easy to search for ranges of dates, sizes, etc.  These options apply to *all* file types and thus should be easily accessible in the advanced UI.

    4) Searching for non-indexed items is especially painful.  The process is slow and the progress is not adequately displayed for the user.  Furthermore, if I search files/folders that are not indexed, a non-indexed search should automatically be initiated.  It is incredibly frustrating to look for something I know is there only to read "no files found".  A slower search (with clear progress information) is always preferable to a failed search.

    Despite my complaints, I do appreciate your communication through this blog.

  42. btriffles says:

    In addition to the common issues mentioned in my previous post, I also have some personal opinions on things that could be improved.

    A) I would love to see a spelling correction/suggestion feature like Google’s.

    B) I should have an option to prevent searching in archives.

    C) The Vista advanced search UI requires too much clicking and doesn’t support enough typing.  I would prefer something in the spirit Windows 2000’s advanced search UI where all the common options were immediately available and editable.

    -Searching dates ranges, restricting search locations, etc. takes more clicks in Vista

    -I should be able to *type* paths into the "Location" box

    D) Please allow setting the default search options (e.g. always show advanced UI, include hidden/system files, do not search in archives, etc.).

    E) Restore the Search option in context menus and the Start menu.  I understand that you were sued, but there is no reason why you can’t leave these options but make them launch the user’s preferred search provider.

  43. lyesmith says:

    I would like to see a UI where I have the following options;

    Search for: [Query string]

    Search in: [Location]

    Include archives: [x]

    Include subdirectories: [x]

    Search in metadata: [Meta data]

    Search in content: [x]

     on closed panel

       Whole words only: [x]

       Case sensitive: [x]

       Find files NOT containing: [x]


       Unicode: [x]



       [x] Date between [date][date]

       [x] File size [<=>] [kb]

    !   Find duplicates [x]

           same name, same size, same content


    In Expoler I would like to see a split screen mode where you can execute 1 key pres copy etc. (Thats right Norton (total) commander style window). Hot keys for everything. You should minimize the number when someone has to switch from keyboard to mouse and back.

    File compare option is much needed. Where you can compare the the content of two file and see the difference on text, or binary data.

    Also folder synchronization.

  44. wtroost says:

    Great post, the link to the query syntax was informative!

    Is it possible to index files with an unknown or random extension with desktop search?  Right now it just seems to ignore those files, which makes Desktop Search feel unreliable.

    People say "search my harddisk" and instead it searches a unpredictable subset of your harddisk, excluding files like "".

  45. ups says:

    I raise the concerns of being unable to search for all file names. In fact, my mind wonders how the same engineers that design and build windows7 (as those are, probably, savvy computer geeks) do not miss those functionalities.

    A very good email search seems to be the main thrust for this development but I reckon it as an blinded walk against web based email apps. Unfortunately this seems to be more important than the old an reliable file search. Changing this (by breaking and not extending it) seems to be a big "no no" in usability.

    New search tools and functionalities should not break the most basic thing: find files.

    Please don’t get me wrong. I look forward for new search. Especially with very large hard drives and a large number of files, file searching need to be revised. But this should be made in an extended way without breaking what the user expects. I would really like to see RegEx in searching (something like grep, with the possibility of refining searches), but I know this is impossible as it requires much more from the end user, that only wants one thing: put text into search box get what he expects.

    But I leave one suggestion: make something inteligent in the way search results are displayed (and not in FIFO way).

    Finally, a question: From what exactly does w7 differs from vista? I’m afraid that the new features can be mistaken from a new Vista SP. A post with those differences would help users to understand better what is w7.

  46. mccabe says:

    One more comment:

    I still consider Windows 2000’s search to be the best. Simple, straightforward, and powerful. I never had any issue with it not finding a file I knew was there (I’ve come not to trust Vista’s search results, which has made me less inclined to use search) and I could easily toggle the advanced options as often as I needed (regular searching by size would often free up several gigs of space on my HD and help me track down out of control log files, for example).

    I miss that experience.

  47. Miek says:

    I installed search 4 on XP after the previous post on search. I did not know about the file name search error (error in my opinion), and then it took longer to get to the old working search companion.  

    Played with it, it worked quite nice, query language logic etc., but as I am searching file names and content of recently changed file, most of the time, I uninstalled. Now the working search is back.

    "Windows is all about supporting diversity".

    I hope the old search stays an option to support guys like my who don’t mind waiting a few seconds for a basic search to find sub strings in file names. 100% hit.

    Also supply enough API’s so that third parties can also implement alternative "unwieldy" search GUIs.

    O, did I have trouble to find a place to configure, expected it to be available on the search interface. Later I notice yet another new icon cluttering the notification area. It is definitely not important enough to claim  space in the notification area. And there is not a "do not show in notification area" option

  48. Scott Dart [Microsoft] says:

    @ btriffles

    If you saw the Win 7 demo in the keynote this morning, you got a sneak peek at the new search UI. We’ll cover it in more depth in future blog posts, but hopefuilly it addressed some of your questions

    1) This point is right on – which is why we provide search filters in the UI that build the query language for you.

    2) We already do prefix matching on names, and have heard the feedback on non-prefix matching.

    3) Some of these options are already available in Vista as global options. Look for the ‘Organize’ menu -> ‘Folder and Search Options’ -> Search tab. Some of these options (date/size ranges) are exposed as search filters in Windows 7.

    4) We’re working on fixes for some of these problems, stay tuned. There’s not much we can do to improve the experience for files that *can’t* be indexed, but we’re always working to improve the experience of files that should be indexed, but aren’t yet.


    – Scott

  49. im.thatoneguy says:

    Windows x64 and Network Shares.

    If it doesn’t work with Windows x64 and network shares I don’t care how you index anything it’s effectively useless to me.

  50. lyesmith says:

    Missing or not demoed features on PDC.

    – Virtual desktop. Must have, idealy with diferent personalization options for each (minimum 4) desktop. I did not see this in the demo. I will not buy windows 7 without Virtual desktop. I would rather have virtual desktop than fancy multi-touch which is utterly useless on a laptop or desktop, unless you want to disturb the water in the screen saver.

    It is not the first or last time I am telling this to you. Nicely integrated Virtual desktop is one of the most important selling point for me. I dont use search a lot. I have no serious  problem managing my windows. But I do need more desktop space. I do need to organize my workspace to 3-4 different way. 1 for IM instances, 1 for development, 1 for research. 1 for personal desktop.

    Virtual desktops are integral part of every competitor OS-s. There is no reason why should W7 lack that feature.

    – Taskbar, if I can tsee the title on the taskbar  how can I select 1 from 10 IE instance? Oh yes I have to click on the icon and the click ONCE AGAIN to open a instance. OR I have to cick, scan  through  all the icon. I hope you kept the ability to display text on taskbar inted of useless icons.

    – Peer to peer networking, easy desktop sharing, desktop remoting,

  51. Syllopsium says:

    There may be an advanced query syntax, but where is it documented other than on Technet? To use the syntax you need to be aware of it and Vista’s help is very poor in this regard – it’s very poor in most respects, actually.

    For anyone who wants to be more than a very basic user, Vista’s documentation is massively inferior to practically any Unix out there, not to mention OS/2 – despite having 12 years of additional development since the last OS/2 client was released.

    scripting? vbscript? Not mentioned *anywhere* in the help other than one glossary item.

    Obviously the information exists (online), and is generally of a high quality, but shouldn’t this sort of information be included in the operating system, or at least referred to?

  52. domenico says:


    you wont virtual desktop? were is a problem,

    This is for Vista By Microsoft (Mark Russinovich)

    try pls.

  53. btriffles says:

    @ Scott

    Thanks for your response.  I watched a video of the keynote, but I didn’t see much (due to little coverage and a blurry video).  I look forward to further posts on the topic.  In the meantime, here are a few quick responses:

    3)  I believe some of the options in the Search tab (file names only, include subfolders, etc.) should be local (or at least less hidden) options.  (I had forgotten about that tab.)

    4)  Even if a file can’t be indexed (in terms of content), I believe that searches based on basic file system parameters (name, date, size) should never fail.  Despite its power, I trust a 2000/XP search more than a WDS search.

    Basically, I think a combination of the ease of access/dependability of a 2000/XP search and the power of a WDS search would be ideal.

    Regardless of what happens, thanks for listening.

  54. domenico says:

    Team pls improve Zoom in IE8 multitouch session,

    is not fluid (for now)

  55. domenico says:

    although late arrival.(excuse me my English)

    I saw the PDC and every video available on Channel 9 -10  you tube , NeoWIn, Long Zheng etc

    Personally when I saw Mr. Steven submit WIndows 7  I had tears in my eyes ,I am not a developers but a consumer user enthusiast. Windows for me means a lot like means as much to many people who follow this blog.

    I want to say to all of you..

    Steven Sinofsky , Microsoft, all deveolpers all team who participated in the execution of WIndows 7 (and continues to work hard )..

    You are an extraordinary TEAM!!!!!!!many many many thank’s for your work.

    Microsoft continues this way!



  56. WindowsFanboy says:

    @ lyesmith

    Yes, you can enable text on the Windows 7 taskbar. See

  57. A_Pickle says:

    More and more games are inserting their program shortcuts in the Games Explorer in Vista while specifically NOT inserting any into the Start Menu.  Believe it or not, a lot of times I hit the Windows key and start typing to make my games happen — and games that only put launch icons in the Games Explorer don’t show up in the results.

    This is irritating.

  58. WindowsFanboy says:

    "More and more games are inserting their program shortcuts in the Games Explorer in Vista while specifically NOT inserting any into the Start Menu.  Believe it or not, a lot of times I hit the Windows key and start typing to make my games happen — and games that only put launch icons in the Games Explorer don’t show up in the results.

    This is irritating."


  59. says:

    I have seen some initial reviews of Windows 7 M3, and one thing I’m really not happy with is the removal of the sidebar.

    Yes, I understand that it’s not terribly useful on a smaller screen, but those of us with large wide screens (and multiple ones at that) have to suffer because of the lowest common denominator.

    The whole purpose of gadgets (to me) is to have them available at a glance.  Putting them on the desktop makes them far less useful because they’re usually obscured by windows.  Even with a hotkey to show them, i can’t just glance at them anymore, so things like CPU meters, clocks, weather, etc.. become things i have to physically do something to observe.

    I’d much prefer you make the sidebar optional, so that gadgets can still be placed on it if desired or on the desktop.  In fact, the sidebar that’s not always on top doesn’t take up any extra screen real estate anyways, and works exactly the same way, so I don’t really understand why it’s being removed.

    This is the #1 thing I hate about Dashboard on the Mac, that you need to hit a hotkey to show the gadgets.  This will be infuriating to many people.

    Please, just reconsider this.

  60. says:

    Also, I saw mention of the Aero Snap feature.  I love this idea, but please make this user configurable.  I don’t even care if it’s just a registry tweak.  I want to be able to configure the "zones" of my monitor that it snaps to.  On a 30" monitor, i might want three vertical zones spaced evenly, or i might want quadrants or sextants.  

    This is a feature that makes large screen monitors much more useful, and if configurable extremely useful.

  61. anebg says:

    I think it would be great if there was a shortcut for creating new folders.

    Thank you for listening !! Keep up the good work 🙂

  62. UserOfManyOperatingSystems says:

    I’ve watched several videos of the new docking feature in Windows 7 where moving a window to the right or left side of the screen resizes it to 50% horizontal and 100% vertical on the side of the screen you move it to.  Honestly, this seems like a very bad idea.  As an example, consider the following scenario:

    You are working on something, and there are 3 windows that you need to see.  Your screen is large enough to see 2.5 of them at once (and maybe you are even ok just seeing the 3rd window on the left side to see if there are any changes while you work.)  You try to move the third window out of the way (naturally, part way off the side of the screen), but instead of moving out of the way, it resizes itself and takes half your screen!  Try to move it out of the way again, and the same thing will happen!

    I’m on a very large display and I still move things out of the way like this all the time.  (Not that I don’t even more on smaller displays.)

    Another scenario:

    You really do have two windows that you want to see at once, and you want the two of them combined to fill the whole screen.  But one needs to be 2/3 the size of the screen to show what you need to see without scrolling, and one needs 1/3.  Now you move the windows to the sides, and you must first shrink the one that needs to be smaller to get it out of the way so they don’t overlap, then resize the larger one (hoping that you resized the smaller one enough.)

    I can think of almost no situation in which a 50/50 split would be the right layout for my windows.  

    On the other hand, the new taskbar is the biggest improvement I’ve seen to the Windows interface since 95 came out!  This design appears to be much more scalable and efficient, and is also more pleasant to look at.  This is a good start.

  63. lyesmith says:

    I think docking is very good idea. Not sure how W7 would work with more than 2 window, but if it is intelligent enough that can not be problem.

    Lets say after dock you can resize the windows just like in Visual Studio or Eclipse. Also (un)pinning the window is a good thing to have.

  64. bpaddock says:

    @UserOfManyOperatingSystems –

    The window snapping feature is only triggered when the *mouse* cursor hits the side of the window.  Therefore, you can still drag windows partially off-screen just as you could before.  I think you’ll find it is very difficult to accidentally trigger the snap.

    The 50/50 split has been very useful for me.  I use it regularly when dragging files from Explorer to SmartFTP, or when writing a blog post in Live Writer and having IE open to a page I’m quoting on the other side.

  65. bpaddock says:

    @A_Pickle and WindowsFanboy  

    In Windows 7, the Games folder is now enumerated and searchable in the Start menu.

  66. UserOfManyOperatingSystems says:


    Right.  I saw that.  But I can imagine that that would cause frequent resizing.  Think about it this way:  The side of your screen is one of the largest targets on your desktop.  It’s almost impossible to miss.  So now, if you want to move a window part way off a screen, you must select an area of the window you are moving, drag it right (or left), and then consciously try to avoid touching the side of your screen with your mouse pointer!  That means that you must choose, in advance, the portion of your window to click on to drag it that is farther to the left than what you want to have showing, because otherwise, you will touch the side of the screen and resize.  If you guess wrong, you either get an unexpected resize, or you have to drop the window, find another portion of it to click on, and try again.  Even if you guess right, you can’t just pick the right point and slide your window over and use the screen edge to stop you in the right place.  You have to slow down and stop when you are *almost* there.

    Basically, this makes an infrequently used operation easy while making a frequently used operation much harder, and it makes some of the largest targets on your screen areas that you have to be careful to avoid if you DON’T want to resize the screen.  This doesn’t strike me as good interface design.

    A better approach might be to drag into one of the corners on the side that you want.  Corners are harder to hit unintentionally, but are easy to hit when you want to.

    And even better approach might be to add window decoration widgets on the title bar that perform the operation with one click.  This would even fit in well with the other title bar widgets, since those also perform window sizing operations.

    Another great approach would be to enable focus follows mouse and raise window with focus by default.  I have this enabled on all OSs that I use that support it.  This makes it much easier to work with overlapping windows, because you don’t have to click on each window to activate it.  

    You could even combine this with dragging in the following way:

    1) Select object you want to drag from window 1

    2) Drag it onto window 2

    3) Window 2 raises after some reasonable amount of time (I’d suggest 300 ms) to make it easier to see what you are dragging on to.

    4) Drop object onto Window 2

    The OS X Finder actually does this, and it works rather well.

  67. lyesmith says:


    Yes Windows does the same since ’98 I think. Snapping is useful when you need to work on multiple document at the same time reading one and editing the other. It is easier the D&D if they are side by side. (ie you don’t have to wait 300ms just drop it)

    I think the snapping feature is nice and useful. I do like it in every application I use.

    I would like to see hot-keys for file management between the snapped windows. I hate when I always have to get the mouse for renaming and copying

  68. WindowsFanboy says:


    Starting with the  beta and on to the final version, Windows 7 will have the new taskbar with the "peek" button on the right side. This makes it super easy to peek at the gadgets – just drag your mouse into the bottom right of the screen. If you want to interact with one of the gadgets, just click while your mouse is there (it does the same thing as show desktop). It’s no harder than moving your eyes to glance at the gadgets when they’re on the sidebar.

  69. UserOfManyOperatingSystems says:


    Russinovich’s virtual desktop is fast (I’ve used it), but it has a major limitation: you can’t move windows between desktops.  The problem is that in his implementation, each program is bound to a logical windows desktop.  Each desktop contains some set of program, and windows are children of programs.  A program can only draw a window on its own desktop.  So you can’t, say, have Firefox open a window on Desktop 1, and then have the same Firefox instance open a window on Desktop 2.  This is a critical feature for any virtual desktop, so while Russinovich has made a good effort, it doesn’t currently meet real world usage needs.

    Even worse, Russinovich’s implementation can’t be shut down before the computer is shut down, or programs running on other desktops will be stranded on those desktops, with no way to access them.

    On Linux and OS X, these operations are performed trivially.

    The lack of a *good* virtual desktop implementation is one of the major usability problems with Windows.

  70. anonymuos says:

    In Windows 7, search is so well integrated throughout the operating system (even in more apps than Vista), why can’t it be implemented for Gpedit.msc/Local Group Policy?

  71. says:


    You obviously don’t undestand the use case.  It’s not a matter of "easy", it’s a matter of conscious action versus subconscious action.  I glance at my gadgets all the time subconsciously without distracting me from my work.  Moving my mouse to click a button or pressing a hotkey does distract me from my work, especially if my work is two 30 inch monitors over.

  72. Mantvydas says:

    The Start Menu search in Windows Search 4 behaves very strangely…

    I have a folder in My Documents which is called Budgets, inside it there are many other folders like Budgets 2008, Budgets 2009, Budgets Revised and so on.

    If I click start and type in searchbox a single word Budgets, I do get returned some deeper folders called like Budgets Revised and others, but I never get the one I want: the overall top folder Budgets. Why?

  73. Martin Gifford says:

    I would like to get back control of the Search function!

    Although I hate the Ribbon in Office, I’d love it for Search and in Windows Explorer!

    Search in Vista has so many weird problems e.g. you put in a data CD and do a search for a file and you get "No items match your search" presumably because CDs aren’t indexed. So you look for "Advanced Search" to search in non-indexed locations and it’s nowhere to be seen!

    Also half the the Folder Options in Windows Explorer are ambiguous and don’t even work! I like files to be shown in details view or list view (but with sorting categories like file name and date modified). You click "Apply to all folders" or any of the other ambiguous options and experiment with different combinations (e.g. "Remember each folder’s view settings" checked and unchecked) and sometimes it seems to work then it doesn’t.

    Finally, the Pictures folder always comes up with icons instead of details, and the Music folder comes up with all this rubbish about artists name and ratings that is a total disaster area if you actually want to find something.

    Bottom line: Give me more control please! You have no right to presume what I want.

  74. Computermensch says:

    Where’s the DFS support. Can’t use Windows Search (Desktop search) – really can’t use Windows 7 libraries without that support.

    BTW Needs integration with Search Server as well. At the the core of this last point: One index please in Windows Server System.

  75. hdw says:

    I use wds 4 on xp

    the searchindexer process takes a significant amount of memory sometimes.When indexing is complete and when the system is idle the average is about 10,000kb .It sometimes takes a peak values close to 63,000kb(even when indexing is complete).

    It never drops below 3,000 kb,even when I am using the system heavily.

    Is this normal behavior?

    Any way to control this?  

  76. cirurgia plastica says:

    I installed search 4 on XP after the previous post on search. I did not know about the file name search error (error in my opinion), and then it took longer to get to the old working search companion.  

    Played with it, it worked quite nice, query language logic etc., but as I am searching file names and content of recently changed file, most of the time, I uninstalled. Now the working search is back.

    "Windows is all about supporting diversity".

    I hope the old search stays an option to support guys like my who don’t mind waiting a few seconds for a basic search to find sub strings in file names. 100% hit.

    Also supply enough API’s so that third parties can also implement alternative "unwieldy" search GUIs.

    O, did I have trouble to find a place to configure, expected it to be available on the search interface. Later I notice yet another new icon cluttering the notification area

Skip to main content