New for Windows 7 Search

This topic lists new documentation introduced for Windows 7. Some documentation that is not listed here also contains new Windows 7 content, such as conceptual topics, and new enumeration, constant, and flag values in revisions to existing topics.

This topic is organized as follows:

Code Samples

Topic Contents
CrawlScopeCommandLine The CrawlScopeCommandLine code sample demonstrates how to define command line options for Crawl Scope Manager (CSM) indexing operations.
DSearch The DSearch code sample demonstrates how to create a class for a static console application to query Windows Search using the Microsoft.Search.Interop assembly for ISearchQueryHelper.
IFilterSample The IFilterSample code sample demonstrates how to create an IFilter base class for implementing the IFilter interface.
OpenSearch The OpenSearch code sample demonstrates how to create a federated search service using the OpenSearch protocol, and an OpenSearch Descriptor (.osdx) file (a search connector).
PropertyEdit The PropertyEdit code sample demonstrates how to convert the canonical property name to a PROPERTYKEY, set the value of the property store to that of the item, and write the data back to the file stream.
ReindexMatchingUrls The ReindexMatchingUrls code sample demonstrates how to provide three ways to specify the files to re-index: URLs that match a file type, mime type, or a specified WHERE clause.
SearchEvents The SearchEvents code sample demonstrates how to prioritize indexing events.
StructuredQuerySample The StructuredQuerySample code sample demonstrates how to read lines from the console, parse them using the system schema, and display the resulting condition trees.
WSFromScript The WSFromScript code sample demonstrates how to query Windows Search from a Microsoft Visual Basic script using Microsoft ActiveX Data Objects (ADO).
WSOleDB The WSOleDB code sample demonstrates Active Template Library (ATL) OLE DB access to Windows Search applications, and demonstrates two additional methods for retrieving results from Windows Search.
WSSQL The WSSQL code sample demonstrates how to communicate between Microsoft OLE DB and Windows Search through Structured Query Language (SQL).

 

Conceptual Overviews

There are Windows 7 conceptual overviews for the following areas.

Topic Contents
Federated Search in Windows Describes Windows 7 support for search federation to remote data stores using OpenSearch technologies that enable users to access and interact with their remote data from within Windows Explorer.
Getting Started with Federated Search in Windows Tells you how to build a web-based data store that can be searched using Windows federated search, and enable rich integration of your remote data sources with Windows Explorer without having to write or deploy any Windows client-side code.
Connecting Your web Service in Windows Federated Search Describes the steps involved in connecting a web service between your data store and Windows Federated Search, and how to send queries and return search results in RSS or Atom.
Enabling Your Data Store in Windows Federated Search Explains how to enable your data store to be accessed by an OpenSearch web service, and how to avoid potential barriers for doing so.
Creating an OpenSearch Description File in Windows Federated Search Describes how to create an OpenSearch Description (.osdx) file to connect external data stores to the Windows Client via the OpenSearch protocol.
Following Best Practices in Windows Federated Search Lists the best practices through which you can build a web-based data store that can be searched using Windows federated search, and integrates your remote data sources with Windows Explorer without having to write or deploy any Windows client-side code.
Deploying Search Connectors in Windows Federated Search Explains how a user registers a new remote data store with federated search by opening an OpenSearch Description (.osdx) file, how to deploy an .osdx file, and how to track usage of your OpenSearch service.

 

Filters

Topic Contents
Developing Filter Handlers Microsoft Windows Search uses filters to extract the content of items for inclusion in a full-text index. You can extend Windows Search to index new or proprietary file types by writing filters to extract the content, and property handlers to extract the properties of files.
About Filter Handlers in Windows Search Filter handlers, which are implementations of the IFilter interface, scan documents for text and properties. Filter handlers extract chunks of text from these items, filtering out embedded formatting and retaining information about the position of the text. They also extract chunks of values, which are document properties. IFilter is the foundation for building higher-level applications such as document indexers and application-independent viewers.
Best Practices for Creating Filter Handlers in Windows Search Microsoft Windows Search uses filters to extract the content of items for inclusion in a full-text index. You can extend Windows Search to index new or proprietary file types by writing filter handlers to extract the content, and property handlers to extract the properties of files. Filters are associated with file types, as denoted by file name extensions, MIME types or class identifiers (CLSIDs). While one filter can handle multiple file types, each type works with only one filter.
Returning Properties from a Filter Handler Properties are extracted from items using registered property handlers, or using filters registered for specific file types. A filter handler (an implementation of the IFilter interface) can interpret the contents of a file type in any number of ways.
Filter Handlers that Ship with Windows Microsoft supplies several standard filters with Windows Search. Clients call these filter handlers (which are implementations of the IFilter interface) to extract text and properties from a document.
Implementing Filter Handlers in Windows Search Explains understand the required DLL structure of a filter handler (an implementation of the IFilter interface).
Registering Filter Handlers Your filter handler must be registered. You can also locate an existing filter handler for a given file name extension either through the registry or by using the ILoadFilter interface.
Testing Filters The IFilter test suite validates your filter handlers.

 

Indexing, and Querying the Index

Topic Contents
Indexing Prioritization and Rowset Events in Windows 7 Outlines the introduction of indexing prioritization and rowset events for Windows 7.

 

Libraries

Topic Contents
Libraries in Windows 7 Outlines the introduction of indexing prioritization and rowset events for Windows 7.

 

Enumerations

Topic Contents
CASE_REQUIREMENT Specifies the case requirements of keywords, if any, for a query.
CONDITION_CREATION_OPTIONS Provides a set of flags to be used with the following interfaces to indicate the type of condition tree node: ICondition, ICondition2, IConditionFactory, IConditionFactory2, and IConditionGenerator.
CONDITION_OPERATION Provides a set of flags to be used with following methods to indicate the operation in ICondition::GetComparisonInfo, ICondition2::GetLeafConditionInfo, IConditionFactory::MakeLeaf, IConditionFactory2::CreateBooleanLeaf, IConditionFactory2::CreateIntegerLeaf, IConditionFactory2::MakeLeaf, IConditionFactory2::CreateStringLeaf, and IConditionGenerator::GenerateForLeaf.
CONDITION_TYPE Provides a set of flags to be used with the following methods to indicate the type of condition tree node: ICondition::GetConditionType, IConditionFactory::MakeAndOr, IConditionFactory2::CreateCompoundFromArray, and IConditionFactory2::CreateCompoundFromObjectArray.
PRIORITY_LEVEL Used by the IRowsetPrioritization interface to sets or retrieve the current indexer prioritization level for the scope specified by a query.
ROWSETEVENT_ITEMSTATE Describes whether an item that matches the search criteria of a rowset is currently in that rowset.
ROWSETEVENT_TYPE Describes the type of change to the rowset's data.
STRUCTURED_QUERY_SYNTAX Specifies the type of query syntax.

 

Interfaces

Topic Contents
ICondition Provides methods for retrieving information about a search condition. An ICondition object represents the result of parsing an input string (using methods such as IQueryParser::Parse or IQuerySolution::GetQuery) into a tree of search condition nodes. A node can be a logical AND, OR, or NOT for comparing subnodes, or it can be a leaf node comparing a property and a constant value.
ICondition2 Extends the functionality of the ICondition interface. ICondition2 provides methods for retrieving information about a search condition.
IConditionFactory2 Extends the functionality of IConditionFactory. IConditionFactory2 provides methods for creating or resolving a condition tree that was obtained by parsing a query string.
IRichChunk Represents a chunk of data as a string and a PROPVARIANT value.
IRowsetEvents Exposes methods for receiving event notifications. In Windows 7 and later, indexer eventing permits data providers to receive notifications on their rowsets. Providers that utilize indexing eventing are able to maintain their rowsets in a manner akin to actual file system locations (examples of such non file system locations are Libraries and Searches). Indexer eventing is to Library views what file system notifications is to file folder views.
IRowsetEvents must be implemented to receive the following notifications on events: OnChangedItem, OnDeletedItem, OnNewItem and OnRowsetEvent. The ROWSETEVENT_ITEMSTATE and ROWSETEVENT_TYPE enumeratiors capture the item state and rowset event, respectively.
IRowsetPrioritization Sets or retrieves the current indexer prioritization level for the scope specified by this query.
ISearchCrawlScopeManager2 Extends the functionality of the ISearchCrawlScopeManager interface. ISearchCrawlScopeManager2 provides methods that notify the search engine of containers to crawl and/or watch, and items under those containers to include or exclude when crawling or watching.

 

Schema Elements

Topic Contents
Overview of the Search Connector Description Schema Introduces the Search Connector Description schema that is used by Windows Explorer libraries and federated search providers.

 

Topic Contents
author Element (Search Connector Schema) The optional <author> element specifies the author of this library. This element has no child elements and no attributes.
dateCreated Element (Search Connector Schema) The optional <dateCreated> element identifies the date and the time when this search connector was created, using the ISO 8601 standard. It has no child elements and no attributes.
scope Element (Search Connector Schema) The <depth> element specifies whether the search connector's scope should include child URLs. The allowed values are Deep and Shallow. This element has no child elements and no attributes.
description Element (Search Connector Schema) The optional <description> element specifies a description for this search connector. This element has no child elements and no attributes.
domain Element (Search Connector Schema) The optional <domain> element specifies the URL of the search service used by this search connector. It is displayed in the details pane. This element has no child elements and no attributes.
folderType Element (Search Connector Schema) The <folderType> element specifies GUID for the folder type. This element is required if the <templateInfo> element exists. It has no attributes and no child elements.
iconReference Element (Search Connector Schema) The optional <iconReference> element specifies a custom icon for this location. This element has no attributes and no child elements.
imageLink Element (Search Connector Schema) The optional <imageLink> element specifies a thumbnail for this search connector. This element has one mandatory child element and no attributes.
imageLink url Element (Search Connector Schema) The <url> element specifies a URL to the thumbnail for this search connector. If <imageLink> exists, this element is required. It has no child elements and no attributes.
includeInStartMenuScope Element (Search Connector Schema) The optional Boolean <includeInStartMenuScope> element specifies whether this search connector should be included in the Start menu search scope. The default value is true for search connectors using the file system as a data source, and false for search connectors used by property handlers. This element has no child elements and no attributes.
isDefaultNonOwnerSaveLocation Element (Search Connector Schema) The optional Boolean <isDefaultNonOwnerSaveLocation> element specifies whether the location described in the search connector should be used as the default save location when a user from another computer in a Homegroup chooses to save an item. This element has no child elements and no attributes.
isDefaultSaveLocation Element (Search Connector Schema) The optional Boolean <isDefaultSaveLocation> element specifies whether the location described in the search connector should be used as the default save location. This element has no child elements and no attributes.
isIndexed Element (Search Connector Schema) The optional Boolean <isIndexed> element specifies whether the location described by the search connector is indexed (either locally or remotely using Windows Search 4 or higher). The default value is true for local folders. This element has no child elements and no attributes.
isSearchOnlyItem Element (Search Connector Schema) The Boolean <isSearchOnlyItem> element specifies whether the search provider supports browse mode in addition to search mode. This element is optional and has no child elements and no attributes.
locationProvider Element (Search Connector Schema) The optional <locationProvider> element specifies the search provider to be used by the web service provider search connector. This element contains one mandatory attribute and an optional child element.
scope Element (Search Connector Schema) The <mode> element specifies whether the URL should be included or excluded from the scope of the search connector. The allowed values are Include and Exclude. This element has no child elements and no attributes.
property Element (Search Connector Schema) The optional <property> element specifies the properties used by the location provider. These properties are specific to this location provider, so there is no predefined set of names to use. The <property> element has two attributes, as described in this topic.
property Element of propertyStore (Search Connector Schema) The optional <property> element specifies a property used by the search connector. These properties are specific to this search connector, so there is no predefined set of names to use. This element has no child elements.
propertyBag Element (Search Connector Schema) The required <propertyBag> element specifies a set of one or more properties used by this location provider.
propertyStore Element (Search Connector Schema) The optional <propertyStore> element specifies the location of an XML-based IPropertyStore to store open metadata for this search connector. This element has no attributes and only one child element.
scope Element (Search Connector Schema) The optional <scope> element specifies a collection of <scopeItem> elements that define the scope inclusions and exclusions for this particular search connector. If <scope> is present, it MUST contain at least one <scopeItem> element. This element has no attributes.
scopeItem Element (Search Connector Schema) The <scopeItem> element represents a single entry in the exclusion/inclusion scope table. <scopeItem> extends the standard shellLinkType type by adding three new elements that control inclusion and exclusion of folders, control the depth of results, and specify the location of the scope. If the <scope> element exists, this element is required. It has three child elements and no attributes.
scopeItem url Element (Search Connector Schema) The <url> element specifies a URL that represents the scope of the search connector. This element has no child elements and no attributes.
searchConnectorDescriptionType Element (Search Connector Schema) The <searchConnectorDescriptionType> element is the top level container for the search connector definition.
simpleLocation Element (Search Connector Schema) The <simpleLocation> element specifies the location for search connectors that are file-system based or protocol-handler based. This element has two child elements and no attributes.
simpleLocation url Element (Search Connector Schema) The <url> element specifies a URL for the location for this search connector. This value can be a regular file:// URL as defined in the RFC 1738 (https://www.ietf.org/rfc/rfc1738.txt) document or or a URL that uses the knownfolders: protocol. This element has no child elements and no attributes.
supportsAdvancedQuerySyntax Element (Search Connector Schema) The Boolean <supportsAdvancedQuerySyntax> element specifies whether the search provider supports the Advanced Query Syntax. The default is false. This element is optional and has no child elements and no attributes.
templateInfo Element (Search Connector Schema) This optional <templateInfo> element specifies a folder type for displaying the results from a query over this search connector. This element has no attributes and only one mandatory child.

 

Structures

Topic Contents
HITRANGE Identifies the range of matching data when query search conditions match indexed data.

 

Windows 7 Search

Indexing Prioritization and Rowset Events in Windows 7

Windows Shell Libraries in Windows 7