Windows Search

Windows Search creates a local Index of files — audio tracks, documents, folders, programs, photos, and videos — as well as of non-file items such as contacts and messages of Microsoft Outlook and their metadata for which users can perform incremental searches based on details such as contents, dates, names, types, and sizes; the Index consists of prose within files and items and metadata properties.

In January 2025, Microsoft released an enhanced version of Windows Search for their new NPU-based Copilot+ PC devices.

[1] This release of Windows Search additionally enables finding local documents, images and settings using user's own words and phrases, instead of just relying on exact keyword matches.

[2] Windows Search is the successor of the Indexing Service, a content indexing solution originally developed as an optional download for Windows NT 4.0 and Internet Information Services 3.0, designed to gather resources located on Web servers; it is a remainder of the Object File System of the Cairo operating system project that never fully emerged.

[6][7] Windows Search like WinFS[8] enables queries across existing commonalities between items (such as finding all messages with attachments,[9] or all messages with PowerPoint slides that mention only a particular subject[10]) but unlike WinFS it does not provide a relational item database with schema-based enforcement, management, and storage; it provides a way to search for commonalities that already exist across disparate types.

[11][12] Windows Search additionally deprecates the Indexing Service,[13] as WinFS was originally meant to do.

Microsoft suggests that a few hours may be necessary for the building process to complete, an assessment dependent on the number and size of files and non-file items to index.

It achieves this using three processes:[23] The search service consists of several components, including the Gatherer, the Merger,[24] the Backoff Controller, and the Query Processor, among others.

The Gatherer retrieves the list of URIs that need to be crawled and invokes proper protocol handler to access the store that hosts the URI, and then the proper property-handler (to extract metadata) and IFilter to extract the document text.

[24] Apart from the indices and property store, another persistent data structure is maintained: the Gather Queue.

Users can access the Windows Search index programmatically using managed as well as native code.

Windows Search provides implementations of the interface to convert an AQS or NQS queries to their SQL counterpart.

[29][30] The OLE DB/SQL API implements the functionality for searching and querying across the indices and property stores.

[24] Whenever a query executes, the parts of the index it used are temporarily cached so that further searches filtering the result set need not access the disk again, in order to improve performance.

[33] However, the OLE DB provider is read-only, supporting only SELECT and GROUP ON SQL statements.

[34] The search parameters and filters are encoded in the URI using AQS or its natural language counterpart, NQS.

Windows Search Configuration APIs are used to specify the configuration settings, such as the root of the URIs that needs to be monitored, setting the frequency of crawling or viewing status information like number of items indexed or length of the gather queue or the reason for throttling the indexer.

Searches are specified using the Advanced Query Syntax and are executed while the user types (incremental find).

By default, it comes with a number of IFilters for the most common file types—documents, audio, video as well as protocol handlers for Microsoft Outlook e-mails.

It provides a text field to type the query and the results are presented in a flyout pane.

The help documentation includes syntax for creating application aliases out of any text string, regardless of prefix.

It was re-introduced as Windows Desktop Search with version 2, while still being distributed with MSN Toolbar Suite.

[40] Windows Desktop Search 3.0 is geared for pre-Windows Vista users, hence the indexer was implemented as a Windows Service, rather than as a per-user application, so that the same index as well as a single instance of the service can be shared across all users – thereby improving performance.

It offers a superset of the features provided by Windows Desktop Search (WDS), while being API compatible with it.

Windows Search indexes offline caches of network shares, in addition to the local file systems.

By default, Windows references the profile of the user who originally created a Search Folder as part of the query's scope.

While users can manually modify the contents of a saved search so that the scope references the %USERPROFILE% environment variable, which will enable it to operate on other machines or profiles regardless of the original author, Microsoft has released a SearchMelt Creator utility that automates this process for the user.

[50] With the release of Windows Vista and the Microsoft Property System, the System.Kind property was introduced to express a more user-friendly notion of file type; the new property abstracts filename extensions of items from the system and from the user by grouping these extensions separately and by mapping them to easily identifiable types (e.g., GIF, JPEG, and PNG photographs all are presented to the user as Pictures).

A new landing page was added showing users their top apps and recent activities on their computer.

Each search result also has a right click menu allowing the user to open the file's location.

Windows Search architecture
Windows Desktop Search deskbar.
A combination of virtual and real folders in Windows Vista . The Virtual folders are recognizable by their distinctive icon and blue color.
A search can be saved to create a virtual folder (saved search) with the same query string as the original search inside Save As dialog box in Windows Vista .
A screenshot of Windows Live Search Center
The Search bar in Windows 10 .