Extending the Index
You can extend Windows Search to index the contents and properties of new file formats, and data stores using data add-in interfaces. To create Windows Search add-ins, third-party developers must first implement a Shell data store, and then develop a protocol handler so that Windows Search can access the data for indexing. If you have a custom file format, you must develop a filter handler to index file contents, and a property handler for every file type to index properties.
Windows Search currently supports the indexing of over 200 types of items (such as .txt, .html, and .xml file formats) and can work with multiple types of data stores (such as the NTFS file system and Microsoft Outlook). Windows Search uses filter and protocol handler technology similar to SharePoint Server. Hence, if you already have implementations for your file format, you can update the implementations to be initialized with a stream by using IPersistStream so that the filter will work with Windows Search.
Note Filter handlers, property handlers, and protocol handlers must be written in native code. This is due to potential common language runtime versioning issues with the process that multiple add-ins run in.
This section on extending the index with add-ins contains the following topics:
- Developing Filter Handlers
- Developing Property Handlers for Windows Search
- Developing Protocol Handlers
Additional Resources
- For community-supported message boards on Search technologies, see MSDN Forum: Windows Desktop Search Development.
- To download the Search SDK Code Samples:
- For Windows 7: Windows Search Samples on Code Gallery
- For Windows Vista: Windows Search SDK Samples
- To download the Windows SDK:
- For Windows 7: Windows SDK for Windows 7 and .NET Framework
- For Windows Vista: Windows SDK for Windows Vista and .NET Framework
Related topics
- Windows Search Development Guide
- Managing the Index
- Querying the Index Programmatically
- Extending Language Resources
Send comments about this topic to Microsoft
Build date: 2/14/2012