Windows Search

Overview of the Windows Search technology.

To develop Windows Search, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
AUTH_TYPE

Describes authentication types for content access.
CASE_REQUIREMENT

Specifies the case requirements of keywords, if any, for a query.
CatalogPausedReason

Used by ISearchCatalogManager::GetCatalogStatus to determine the reason the catalog is paused.
CatalogStatus

Used by ISearchCatalogManager::GetCatalogStatus to determine the current state of the catalog.
CLUSION_REASON

These flags enumerate reasons why URLs are included or excluded from the current crawl scope.
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.
FOLLOW_FLAGS

Used to help define behavior when crawling or indexing. These flags are used by the ISearchCrawlScopeManager::AddDefaultScopeRule and ISearchCrawlScopeManager::AddUserScopeRule methods.
INTERVAL_LIMIT_KIND

These values are returned by IInterval::GetLimits as pairs to specify a range with an upper and lower limit.
NAMED_ENTITY_CERTAINTY

Defines the level of certainty for a named entity.
PRIORITY_LEVEL

Used by the IRowsetPrioritization interface to sets or retrieve the current indexer prioritization level for the scope specified by a query.
PROXY_ACCESS

Used by ISearchManager to state proxy use.
QUERY_PARSER_MANAGER_OPTION

Used by IQueryParserManager::SetOption to set parsing options. This can be used to specify schemas and localization options.
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.
SEARCH_INDEXING_PHASE

Specifies the status of the current search indexing phase.
SEARCH_KIND_OF_CHANGE

Indicates the kind of change affecting an item when a source sink notifies a client that an item has been changed.
SEARCH_NOTIFICATION_PRIORITY

Indicates the priority of processing an item that has changed.
SEARCH_QUERY_SYNTAX

Specifies the type of query syntax. (SEARCH_QUERY_SYNTAX)
SEARCH_TERM_EXPANSION

Indicates wildcard options on search terms. Used by ISearchQueryHelper::get_QueryTermExpansion and ISearchQueryHelper::put_QueryTermExpansion methods.
STRUCTURED_QUERY_MULTIOPTION

A set of flags used by IQueryParser::SetMultiOption to indicate individual options.
STRUCTURED_QUERY_PARSE_ERROR

A set of flags to be used with IQuerySolution::GetErrors to identify parsing error(s). Each parsing error indicates that one or more tokens were ignored when parsing a query string.
STRUCTURED_QUERY_RESOLVE_OPTION

Options for resolving data into a condition tree.
STRUCTURED_QUERY_SINGLE_OPTION

A set of flags to be used with IQueryParser::SetOption and IQueryParser::GetOption to indicate individual options.
STRUCTURED_QUERY_SYNTAX

Specifies the type of query syntax. (STRUCTURED_QUERY_SYNTAX)
tagPRIORITIZE_FLAGS

Used by PrioritizeMatchingURLs to specify how to process items the indexer has previously failed to index.

Functions

 
Add

Adds a single (potential) named entity to this INamedEntityCollector collection, as identified in a tokenized span of the input string being parsed.
AddDefaultScopeRule

Adds a URL as the default scope for this rule.
AddHierarchicalScope

Adds a hierarchical scope to the search engine.
AddRequestParameter

Requests a property-value set.
AddRoot

Adds a new search root to the search engine.
AddUserScopeRule

Adds a new crawl scope rule when the user creates a new rule or adds a URL to be indexed.
Base

Retrieves the parent entity of this entity.
BindToFilter

Binds the item being processed to the appropriate IFilterand retrieves a pointer to the IFilter.
BindToStream

Binds the item being processed to an IStream interface [Structured Storage] data stream and retrieves a pointer to that stream.
BreakText

Parses text to identify words and phrases and provides the results to the IWordSink and IPhraseSink objects.
Clone

Creates a copy of the IEnumSearchRoots object with the same contents and state as the current one.
Clone

Creates a copy of this IEnumSearchScopeRules object with the same contents and state as the current one.
Clone

Creates a deep copy of this ICondition object.
CloseAccessor

Closes a previously created IUrlAccessor object.
ComposePhrase

Not supported. (IWordBreaker.ComposePhrase)
CreateAccessor

Creates and initializes an IUrlAccessor object.
CreateAccessorEx

Creates and initializes an IUrlAccessor object. This method has the same basic functionality as the ISearchProtocol::CreateAccessor method, but it includes an additional pUserData parameter to supply additional data to the protocol handler.
CreateBooleanLeaf

Creates a search condition that is either TRUE or FALSE. (IConditionFactory2.CreateBooleanLeaf)
CreateCatalog

Creates a new custom catalog in the Windows Search indexer and returns a reference to it.
CreateCompoundFromArray

Creates a leaf condition node that is a conjunction (AND) or a disjunction (OR) from an array of condition nodes. The returned object supports ICondition and ICondition2.
CreateCompoundFromObjectArray

Creates a leaf condition node that is a conjunction (AND) or a disjunction (OR) of a collection of subconditions. The returned object supports ICondition and ICondition2.
CreateICommand

Creates an ICommand.
CreateIntegerLeaf

Creates a leaf condition node for an integer value. The returned object supports ICondition and ICondition2.
CreateLeaf

Creates a leaf condition node for any value. The returned object supports ICondition and ICondition2.
CreateLoadedParser

Creates a new instance of a IQueryParser interface implementation. This instance of the query parser is loaded with the schema for the specified catalog and is localized to a specified language. All other settings are initialized to default settings.
CreateNegation

Creates a condition node that is a logical negation (NOT) of another condition (a subnode of this node). (IConditionFactory2.CreateNegation)
CreateStringLeaf

Creates a leaf condition node for a string value that represents a comparison of property value and constant value. The returned object supports ICondition and ICondition2.
CreateTrueFalse

Creates a search condition that is either TRUE or FALSE. (IConditionFactory2.CreateTrueFalse)
DefaultPhrase

This method attempts to produce a phrase that, when recognized by this instance of IConditionGenerator, represents the type and value pair for an entity, relationship, or named entity.
DefaultPhrase

Retrieves a default phrase to use for this entity in restatements.
DefaultPhrase

Retrieves a default phrase to use for this named entity in restatements.
DefaultPhrase

Retrieves the default phrase to use for this relationship in restatements.
DeleteCatalog

Deletes an existing catalog and all associated indexed data from the Windows Search indexer.
Destination

Retrieves the destination IEntity object of the relationship. The destination of a relationshipo corresponds to the type of a property.
Entities

Retrieves an enumeration of IEntity objects with one entry for each entity in the loaded schema.
EnumerateExcludedExtensions

Not implemented. (ISearchCatalogManager.EnumerateExcludedExtensions)
EnumerateRoots

Returns an enumeration of all the roots of which this instance of the ISearchCrawlScopeManager is aware.
EnumerateScopeRules

Returns an enumeration of all the scope rules of which this instance of the ISearchCrawlScopeManager interface is aware.
EnumPropInfo

Gets the i-th entry from the list of properties.
GenerateForLeaf

Generates a special query expression for what would otherwise become a leaf query expression.
GenerateSQLFromUserQuery

Generates a Structured Query Language (SQL) query based on a client-supplied query string expressed in either Advanced Query Syntax (AQS) or Natural Query Syntax (NQS).
GenerateWordForms

Generates alternative forms for a word and puts these forms in the IWordFormSink object.
get_AuthenticationType

Retrieves the type of authentication needed to access the URLs under this search root.
get_BypassList

Gets a proxy bypass list from the indexer. This list is used to determine which items or URLs are local and do not need to go through the proxy server. This list is set by calling ISearchManager::SetProxy.
get_ConnectionString

Returns the OLE DB connection string for the Window Search index.
get_ConnectTimeout

Gets the connection time-out value for connecting to a store for indexing.
get_DataTimeout

Gets the data time-out value, in seconds, for data transactions between the indexer and the search filter host. This value is contained in a TIMEOUT_INFO structure.
get_DiacriticSensitivity

Gets a value that indicates whether the catalog is sensitive to diacritics. A diacritic is a mark added to a letter to indicate a special phonetic value or pronunciation.
get_EnumerationDepth

Gets the enumeration depth for this search root.
get_FollowDirectories

Gets a BOOL value that indicates whether the search engine follows subdirectories and hierarchical scopes.
get_FollowFlags

Not supported.This method returns E_InvalidArg when called.
get_HostDepth

Gets a value that indicates how far into a host tree to crawl when indexing.
get_IsDefault

Gets a value that identifies whether this is a default rule.
get_IsHierarchical

Gets a value that indicates whether the search is rooted on a hierarchical tree structure.
get_IsIncluded

Gets a value identifying whether this rule is an inclusion rule. Inclusion rules identify scopes that should be included in the crawl scope.
get_LocalBypass

Retrieves a value that determines whether the proxy server should be bypassed to find the item or URL.
get_Name

Gets the name of the current catalog.
get_Password

Not implemented. (ISearchRoot.get_Password)
get_PatternOrURL

Gets the pattern or URL for the rule. The scope rules determine what URLs or paths to include or exclude.
get_PortNumber

Retrieves the port number used to communicate with the proxy server. This port number is stored in the indexer and is set by the ISearchManager::SetProxy method.
get_ProvidesNotifications

Gets a value that indicates whether the search engine is notified (by protocol handlers or other applications) about changes to the URLs under the search root.
get_ProxyName

Retrieves the proxy name to be used by the protocol handler.
get_QueryContentLocale

Gets the language code identifier (LCID) for the query.
get_QueryContentProperties

Gets the list of properties included in the query when search terms do not explicitly specify a property.
get_QueryKeywordLocale

Gets the language code identifier (LCID) for the locale to use when parsing Advanced Query Syntax (AQS) keywords.
get_QueryMaxResults

Gets the maximum number of results to be returned by the query.
get_QuerySelectColumns

Gets the columns (or properties) requested in the SELECT statement of the query.
get_QuerySorting

Gets the sort order for the query result set.
get_QuerySyntax

Gets the syntax of the query.
get_QueryTermExpansion

Gets the value that specifies how query terms are to be expanded.
get_QueryWhereRestrictions

Gets the restrictions appended to a query in WHERE clauses.
get_RootURL

Gets the URL of the starting point for this search root.
get_Schedule

Not implemented. (ISearchRoot.get_Schedule)
get_UseNotificationsOnly

Gets a value that indicates whether this search root should be indexed only by notification and not crawled.
get_UseProxy

Retrieves the proxy server to be used.
get_User

Not implemented. (ISearchRoot.get_User)
get_UserAgent

Retrieves the user agent string.
GetCatalog

Retrieves a catalog by name and creates a new ISearchCatalogManager object for that catalog.
GetCatalogStatus

Gets the status of the catalog.
GetCLSID

Gets the CLSID for the document type of the URL item being processed.
GetCodePage

Gets the code page for properties of the URL item.
GetColumnMapper

Retrieves a column mapper object.
GetComparisonInfo

Retrieves the property name, operation, and value from a leaf search condition node. (ICondition.GetComparisonInfo)
GetConditionType

Retrieves the condition type for this search condition node, identifying it as a logical AND, OR, or NOT, or as a leaf node.
GetCrawlScopeManager

Gets an ISearchCrawlScopeManager interface for this search catalog.
GetData

Retrieves the PROPVARIANT and input string that represents a chunk of data.
GetData

Retrieves one key/value pair from the metadata of an IEntity, IRelationship, or ISchemaProvider object.
GetDefaultCatalog

Determines the default catalog for the system.
GetDiacriticSensitivity

Gets the sensitivity of an implemented ISearchLanguageSupport interface to diacritics. A diacritic is an accent mark added to a letter to indicate a special phonetic value or pronunciation.
GetDisplayUrl

Gets the user-friendly path for the URL item.
GetDocFormat

Gets the document format, represented as a Multipurpose Internet Mail Extensions (MIME) string.
GetEntity

Retrieves an entity by name from the loaded schema.
GetErrors

Identifies parts of the input string that the parser did not recognize or did not use when constructing the IQuerySolution condition tree.
GetFileName

Retrieves the file name of the item, which the filter host uses for indexing. If the item does not exist in a file system and the IUrlAccessor::BindToStream method is implemented, this method returns the shell's System.ParsingPath property for the item.
GetFilter

Retrieves the appropriate IFilteraccording to the supplied parameters.
GetHost

Gets the host name for the content source, if applicable.
GetImpersonationSidBlobs

Retrieves an array of user security identifiers (SIDs) for a specified URL. This method enables protocol handlers to specify which users can access the file and the search protocol host to impersonate a user in order to index the file.
GetIndexerVersion

Retrieves the version of the current indexer in two chunks:_the major version signifier and the minor version signifier.
GetIndexerVersionStr

Retrieves the version of the current indexer as a single string.
GetInputTerms

For a leaf node, ICondition::GetInputTerms retrieves information about what parts (or ranges) of the input string produced the property, the operation, and the value for the search condition node.
GetItemsChangedSink

Gets the change notification sink interface.
GetLastModified

Gets the time stamp identifying when the URL was last modified.
GetLeafConditionInfo

Retrieves the property name, operation, and value from a leaf search condition node. (ICondition2.GetLeafConditionInfo)
GetLexicalData

Reports the query string, how it was tokenized, and what language code identifier (LCID) and word breaker were used to parse it.
GetLicenseToUse

Gets the license information for this IStemmer implementation.
GetLicenseToUse

Gets a pointer to the license information for this implementation of the IWordBreaker interface.
GetLimits

Specifies the lower and upper limits of an interval, each of which may be infinite or a specific value.
GetLocale

Retrieves the property name, operation, and value from a leaf search condition node. (ICondition2.GetLocale)
GetNamedEntity

Retrieves an INamedEntity object based on an entity name.
GetOplockEventHandle

Gets the event handle of the opportunistic lock (OpLock). The event object is set to the signaled state when the OpLock is broken, enabling the indexer to stop all operations on the underlying IUrlAccessor object.
GetOption

Retrieves a specified simple option value for this query parser.
GetParameter

Not implemented. (ISearchCatalogManager.GetParameter)
GetParameter

Not supported.This method returns E_INVALIDARG when called. (ISearchManager.GetParameter)
GetParentScopeVersionId

Gets the version ID of the parent inclusion URL.
GetPersistentItemsChangedSink

Gets the change notification event sink interface for a client. This method is used by client applications and protocol handlers to notify the indexer of changes.
GetPropInfoFromId

Gets the property information from the DBID.
GetPropInfoFromName

Gets property information from a name. This will return a DBID pointer in parameter ppPropId which now has to be freed by the caller and not by the callee (this class).
GetQuery

Retrieves the condition tree and the semantic type of the solution.
GetQueryHelper

Gets the ISearchQueryHelper interface for the current catalog.
GetRedirectedURL

Gets the redirected URL for the current item.
GetRelationship

Retrieves the IRelationship object for this entity as requested by name.
GetSchemaProvider

Retrieves a schema provider for browsing the currently loaded schema.
GetScopePriority

Retrieves the current indexer prioritization level for the scope specified by this query.
GetScopeStatistics

Gets information describing the scope specified by this query.
GetSecurityDescriptor

Gets the security descriptor for the URL item. Security is applied at query time, so this descriptor identifies security for read access.
GetSecurityProvider

Gets the security provider for the URL.
GetSize

Gets the size of the content designated by the URL.
GetSubConditions

Retrieves a collection of the subconditions of the search condition node and the IID of the interface for enumerating the collection.
GetToken

Retrieves the position, length, and any overriding string of an individual token.
GetURLIndexingState

Not implemented. (ISearchCatalogManager.GetURLIndexingState)
GetValue

Retrieves the value of this named entity as a string.
GetValueNormalization

Retrieves the character-normalized value of the search condition node.
GetValueType

Retrieves the semantic type of the value of the search condition node.
GetVersion

Causes file mapping to be mapped into the address space of the calling process, and informs clients if the state of the Crawl Scope Manager (CSM) has changed.
HasChildScopeRule

Identifies whether a given URL has a child rule in scope.
HasParentScopeRule

Identifies whether a given URL has a parent rule in scope.
IncludedInCrawlScope

Retrieves an indicator of whether the specified URL is included in the crawl scope.
IncludedInCrawlScopeEx

Retrieves an indicator of whether and why the specified URL is included in the crawl scope.
Init

Initializes the stemmer.
Init

Initializes the IWordBreaker implementation and indicates the mode in which the component operates.
Init

Initializes a protocol handler.
Initialize

Resets all states of the interface to default values and retrieves any necessary information from the schema.
InitializeOptions

Sets the flags for Natural Query Syntax (NQS) and automatic wildcard characters for the specified query parser.
IsDirectory

Ascertains whether the item URL points to a directory.
IsDocument

Ascertains whether an item URL is a document or directory.
IsMapUpToDate

Determines if the map is up to date.
IsOplockBroken

Checks the status of the opportunistic lock (OpLock) on the item being indexed. (IOpLockStatus.IsOplockBroken)
IsOplockValid

Checks the status of the opportunistic lock (OpLock) on the item being indexed. (IOpLockStatus.IsOplockValid)
IsPrefixNormalized

Determines whether the query token is a prefix of the document token, disregarding case, width, and (optionally) diacritics.
IsReal

Reports whether a relationship is real.
LoadIFilter

Retrieves and loads the most appropriate filter that is mapped to a Shell data source.
LoadIFilterFromStorage

Do not use:_this method is not implemented. (ILoadFilter.LoadIFilterFromStorage)
LoadIFilterFromStream

Do not use:_this method is not implemented. (ILoadFilter.LoadIFilterFromStream)
LoadStemmer

Retrieves an interface to the word stemmer registered for the specified language code identifier (LCID).
LoadWordBreaker

Retrieves an interface to the word breaker registered for the specified language code identifier (LCID).
Localize

Localizes keywords from an input string.
Localize

Localizes the currently loaded schema for a specified locale.
LookupAuthoredNamedEntity

Finds named entities of a specified type in a tokenized string, and returns the value of the entity and the number of tokens the entity value occupies.
MakeAndOr

Creates a condition node that is a logical conjunction (AND) or disjunction (OR) of a collection of subconditions.
MakeLeaf

Creates a leaf condition node that represents a comparison of property value and constant value.
MakeNot

Creates a condition node that is a logical negation (NOT) of another condition (a subnode of this node). (IConditionFactory.MakeNot)
MetaData

Retrieves an enumeration of IMetaData objects for this entity.
MetaData

Retrieves an enumeration of IMetaData objects for this relationship.
MetaData

Retrieves an enumeration of global IMetaData objects for the loaded schema.
Name

Retrieves the name of this entity.
Name

Retrieves the name of the relationship.
NamedEntities

Retrieves an enumeration of INamedEntity objects, one for each known named entity of this type.
Next

Retrieves the specified number of ISearchRoot elements.
Next

Retrieves the specified number of ISearchScopeRule elements.
NumberOfItems

Gets the number of items in the catalog.
NumberOfItemsToIndex

Gets the number of items to be indexed within the catalog.
NumberOfTokens

Retrieves the number of tokens in the collection.
OnCatalogStatusChange

Called by the search service to notify a client when the status of the catalog changes.
OnChange

Not implemented. (ISearchViewChangedSink.OnChange)
OnChangedItem

Called by the indexer to notify clients that an item has been modified. This item may have matched some (or all) of the criteria for the client rowset.
OnDeletedItem

Called by the indexer to notify clients that an item has been deleted. This item may have matched some (or all) of the search criteria for the client rowset.
OnItemIndexedStatusChange

Called by the search service to notify the client when the status of a particular document or item changes.
OnItemsChanged

Call this method to notify an indexer to re-index some changed items.
OnItemsChanged

Notifies the indexer to index changed items.
OnNewItem

Called by the indexer to notify clients of a new item that may match some (or all) of the criteria for the client rowset.
OnRowsetEvent

Called by the indexer to notify clients of an event related to the client rowset.
Parse

Parses an input string that contains Structured Query keywords and/or contents to produce an IQuerySolution object.
ParsePropertyValue

Parses a condition for a specified property.
PrioritizeMatchingURLs

Instructs the indexer to give a higher priority to indexing items that have URLs that match a specified pattern. These items will then have a higher priority than other indexing tasks.
put_AuthenticationType

Sets the type of authentication required to access the URLs under this search root.
put_ConnectTimeout

Sets the connection time-out value in the TIMEOUT_INFO structure, in seconds.
put_DataTimeout

Sets the time-out value for data transactions between the indexer and the search filter host. This information is stored in the TIMEOUT_INFO structure and is measured in seconds.
put_DiacriticSensitivity

Sets a value that determines whether the catalog is sensitive to diacritics. A diacritic is a mark added to a letter to indicate a special phonetic value or pronunciation.
put_EnumerationDepth

Sets the enumeration depth for this search root.
put_FollowDirectories

Sets a BOOL value that indicates whether the search engine should follow subdirectories and hierarchical scopes for this search root.
put_HostDepth

Sets a value that indicates how far into a host tree to crawl when indexing.
put_IsHierarchical

Sets a value that indicates whether the search is rooted on a hierarchical tree structure.
put_Password

Not implemented. (ISearchRoot.put_Password)
put_ProvidesNotifications

Sets a value that indicates whether the search engine is notified (by protocol handlers or other applications) about changes to the URLs under the search root.
put_QueryContentLocale

Sets the language code identifier (LCID) of the query.
put_QueryContentProperties

Sets the properties to include in the query if search terms do not explicitly specify properties.
put_QueryKeywordLocale

Sets the language code identifier (LCID) for the locale to use when parsing Advanced Query Syntax (AQS) keywords.
put_QueryMaxResults

Sets the maximum number of results to be returned by a query.
put_QuerySelectColumns

Sets the columns (or properties) requested in the select statement.
put_QuerySorting

Sets the sort order for the query result set.
put_QuerySyntax

Sets the syntax of the query.
put_QueryTermExpansion

Sets a value that specifies how query terms are to be expanded.
put_QueryWhereRestrictions

Sets the restrictions appended to a query in WHERE clauses.
put_RootURL

Sets the URL of the current search root.
put_Schedule

Not implemented. (ISearchRoot.put_Schedule)
put_UseNotificationsOnly

Sets a value that indicates whether this search root should be indexed only by notification and not crawled.
put_User

Not implemented. (ISearchRoot.put_User)
put_UserAgent

Sets the user agent string that a user agent passes to website and services to identify itself.
PutPhrase

Puts a query-time phrase in the IPhraseSink object.
PutSmallPhrase

Puts a small query-time phrase in the IPhraseSink object for WordBreaker.
RecognizeNamedEntities

Identifies named entities in an input string, and creates a collection containing them.
RegisterViewForNotification

Not implemented. (ISearchCatalogManager.RegisterViewForNotification)
Reindex

Re-indexes all URLs in the catalog.
ReindexMatchingURLs

Reindexes all items that match the provided pattern. This method was not implemented prior to Windows 7.
ReindexSearchRoot

Re-indexes all URLs from a specified root.
Relationships

Retrieves an enumeration of IRelationship objects, one for each relationship this entity has.
RemoveDefaultScopeRule

Removes a default scope rule from the search engine.
RemoveRoot

Removes a search root from the search engine.
RemoveScopeRule

Removes a scope rule from the search engine.
Reset

Moves the internal counter to the beginning of the list so a subsequent call to IEnumSearchRoots::Next retrieves from the beginning.
Reset

Moves the internal counter to the beginning of the list so that a subsequent call to IEnumSearchScopeRules::Next retrieves from the beginning.
Reset

Resets the underlying catalog by rebuilding the databases and performing a full indexing.
Resolve

Performs a variety of transformations on a condition tree, including the following:_resolves conditions with relative date/time expressions to conditions with absolute date/time (as a VT_FILETIME); turns other recognized named entities into condition trees with actual values; simplifies condition trees; replaces virtual or compound properties with OR trees of other properties; removes condition trees resulting from queries with property keywords that had no condition applied.
ResolveCondition

Performs a variety of transformations on a condition tree, and thereby the resolved condition for evaluation. The returned object supports ICondition and ICondition2.
RestatePropertyValueToString

Restates a specified property for a condition as a query string.
RestateToString

Restates a condition as a structured query string. If the condition was the result of parsing an original query string, the keywords of that query string are used to a great extent. If not, default keywords are used.
RevertToDefaultScopes

Reverts to the default scopes.
RootEntity

Retrieves the root entity of the loaded schema.
SaveAll

Commits all changes to the search engine.
SaveBinary

Saves the loaded schema as a schema binary at a specified path.
SetDiacriticSensitivity

Sets a value that indicates whether an implemented ISearchLanguageSupport interface is sensitive to diacritics. A diacritic is an accent mark added to a letter to indicate a special phonetic value or pronunciation.
SetExtensionClusion

Not implemented. (ISearchCatalogManager.SetExtensionClusion)
SetMultiOption

Sets a complex option, such as a specified condition generator, to use when parsing an input string.
SetOption

Sets a single option, such as a specified wordbreaker, for parsing an input string.
SetOption

Changes a single option in this IQueryParserManager object. For example, this method could change the name of the schema binary to load or the location of localized schema binaries.
SetParameter

Sets a name/value parameter for the catalog.
SetParameter

Not supported.This method returns E_INVALIDARG when called. (ISearchManager.SetParameter)
SetProxy

Stores information in the indexer that determines how the indexer will work and communicate with a proxy server.
SetScopePriority

Sets the current indexer prioritization level for the scope specified by this query.
ShouldIndexItemContent

Identifies whether the item's content should be indexed.
ShouldIndexProperty

Identifies whether a property should be indexed.
ShutDown

Shuts down the protocol handler.
Skip

Skips the specified number of elements. (IEnumSearchRoots.Skip)
Skip

Skips the specified number of elements. (IEnumSearchScopeRules.Skip)
StartedMonitoringScope

Permits an index-managed notification source to add itself to a list of "monitored scopes".
StartedMonitoringScope

Called by a notifications provider to notify the indexer to monitor changes to items within a specified hierarchical scope.
StoppedMonitoringScope

Not implemented. (ISearchItemsChangedSink.StoppedMonitoringScope)
StoppedMonitoringScope

Called by a notifications provider to notify the indexer to stop monitoring changes to items within a specified hierarchical scope.
ThreadIdle

Notifies the protocol handler that the filtering thread is idle, so that the protocol handler can clean up any cache it might have built up.
ThreadInit

Initializes communication between the protocol handler and the protocol host.
ThreadShutdown

Notifies the protocol handler that the thread is being shut down.
UnregisterViewForNotification

Not implemented. (ISearchCatalogManager.UnregisterViewForNotification)
URLBeingIndexed

Gets the URL that is currently being indexed. If no indexing is currently in process, pszUrl is set to NULL.
VerifyCatalog

Validates the catalog location.
WriteProperties

Not implemented. (ISearchQueryHelper.WriteProperties)

Interfaces

 
IColumnMapper

Retrieves property information for file based queries.
IColumnMapperCreator

Contains a method to retrieves a column mapper object.
ICondition

Provides methods for retrieving information about a search condition.
ICondition2

Extends the functionality of the ICondition interface. ICondition2 provides methods for retrieving information about a search condition.
IConditionFactory

Provides methods for creating or resolving a condition tree that was obtained by parsing a query string.
IConditionFactory2

Extends the functionality of IConditionFactory. IConditionFactory2 provides methods for creating or resolving a condition tree that was obtained by parsing a query string.
IConditionGenerator

Provides methods for handling named entities and generating special conditions.
IEntity

Provides methods for retrieving information about an entity type in the schema.
IEnumSearchRoots

Provides methods to enumerate the search roots of a catalog, for example, SystemIndex.
IEnumSearchScopeRules

Enumerates scope rules.
IInterval

Provides a method to get the limits of an interval.
ILoadFilter

Defines methods and properties that are implemented by the FilterRegistration object, which provides methods for loading a filter.
IMetaData

Provides a method for retrieving a key/value pair of strings from an IEntity, IRelationship or ISchemaProvider object.
INamedEntity

Provides methods to get the value of, or a default phrase for the value of, a named entity.
INamedEntityCollector

Provides a method to accumulate named entities as identified by an IConditionGenerator object.
IOpLockStatus

Provides methods to check the opportunistic lock that is used by Microsoft Windows Desktop Search (WDS) on items while indexing.
IProtocolHandlerSite

Provides methods for a protocol handler's IUrlAccessor object to query the Filter Daemon for the appropriate filter for the URL item.
IQueryParser

Provides methods to parse an input string into an IQuerySolution object.
IQueryParserManager

Provides methods to create, initialize, and change options for an IQueryParser object.
IQuerySolution

Provides methods that retrieve information about the interpretation of a parsed query.
IRelationship

Provides methods for retrieving information about a schema property.
IRichChunk

Represents a chunk of data as a string and a PROPVARIANT value.
IRowsetEvents

Exposes methods for receiving event notifications.
IRowsetPrioritization

Sets or retrieves the current indexer prioritization level for the scope specified by this query.
ISchemaLocalizerSupport

Provides a method for localizing keywords in a specified string.
ISchemaProvider

Provides a schema repository that can be browsed.
ISearchCatalogManager

Provides methods to manage a search catalog for purposes such as re-indexing or setting timeouts.
ISearchCatalogManager2

Extends the ISearchCatalogManager interface to manage a search catalog, for purposes such as re-indexing or setting timeouts.
ISearchCrawlScopeManager

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.
ISearchCrawlScopeManager2

Extends the functionality of the ISearchCrawlScopeManager interface.
ISearchItemsChangedSink

Provides notifications for changes to indexed items. Also provides notification of the hierarchical scope that is being monitored for changed items.
ISearchLanguageSupport

Provides methods for accessing thesaurus information.
ISearchManager

Provides methods for controlling the Search service. This interface manages settings and objects that affect the search engine across catalogs.
ISearchManager2

Enabled applications to create and delete custom catalogs in the Windows Search indexer.
ISearchNotifyInlineSite

Provides methods the Search service uses to send updates on catalog and index status to notification providers.
ISearchPersistentItemsChangedSink

Provides methods for passing change notifications to alert the indexer that items need to be updated.
ISearchProtocol

Provides methods for invoking, initializing, and managing IUrlAccessor objects. (ISearchProtocol)
ISearchProtocol2

Provides methods for invoking, initializing, and managing IUrlAccessor objects. (ISearchProtocol2)
ISearchProtocolThreadContext

This optional interface enables the protocol handler to perform an action on the thread used for filtering in the protocol host.
ISearchQueryHelper

Provides methods for building a query from user input, converting a query to Windows Search SQL, and obtaining a connection string to initialize a connection to the Window Search index.
ISearchRoot

Provides methods for manipulating a search root. Changes to property members are applied to any URL that falls under the search root. A URL falls under a search root if it matches the search root URL or is a hierarchical child of that URL.
ISearchScopeRule

Provides methods to define scope rules for crawling and indexing.
ISearchViewChangedSink

Not implemented. (ISearchViewChangedSink)
ISimpleCommandCreator

Contains methods for interacting with the file catalog.
IStemmer

Provides methods for creating a language-specific stemmer. The stemmer generates inflected forms of a specified word.
ITokenCollection

Gets the tokens that result from using a word breaker.
IUrlAccessor

Provides methods for processing an individual item in a content source whose URL is provided by the gatherer to the filter host.
IUrlAccessor2

Extends functionality of the IUrlAccessor interface.
IUrlAccessor3

Extends the functionality of the IUrlAccessor2 interface with the IUrlAccessor3::GetImpersonationSidBlobs method to identify user security identifiers (SIDs) for a specified URL.
IUrlAccessor4

Extends the functionality of the IUrlAccessor3 interface with the IUrlAccessor4::ShouldIndexItemContent method that identifies whether the content of the item should be indexed.
IWordBreaker

Parses text and identifies individual words and phrases. This interface is a language-specific language resource component. It is used in background processes and must be optimized for both throughput and minimal use of resources.
IWordFormSink

Handles the list of alternative word forms that stemmers generate during query time.

Structures

 
AUTHENTICATION_INFO

Describes security authentication information for content access.
FILTERED_DATA_SOURCES

Specifies parameters for a Shell data source for which a filter is loaded.
HITRANGE

Identifies the range of matching data when query search conditions match indexed data.
INCREMENTAL_ACCESS_INFO

Contains access information used by an incremental crawl, such as the last access date and modification time.
ITEM_INFO

Contains information passed to the IUrlAccessor object about the current item; for example, the application name and catalog name.
ITEMPROP

Stores information about properties in the Windows Property System, and is used by the IItemPropertyBag interface.
PROXY_INFO

Stores information about a proxy. Used by ISearchProtocol.
SEARCH_COLUMN_PROPERTIES

This structure is not implemented.
SEARCH_ITEM_CHANGE

Specifies the changes to an indexed item.
SEARCH_ITEM_INDEXING_STATUS

Describes the status of a document to be indexed.
SEARCH_ITEM_PERSISTENT_CHANGE

Contains information about the kind of change that has occurred in an item to be indexed. This structure is used with the ISearchPersistentItemsChangedSink::OnItemsChanged method to pass information to the indexer about what has changed.
TEXT_SOURCE

Contains information about text that the word breaker will process.
TIMEOUT_INFO

Stores time-out values for connections and data.