Windows 7 搜索的新增功能

本主题列出了为 Windows 7 引入的新文档。 此处未列出的某些文档还包含新的 Windows 7 内容,例如概念主题,以及现有主题修订中的新枚举、常量和标志值。

本主题按如下所示进行组织:

代码示例

主题 内容
CrawlScopeCommandLine CrawlScopeCommandLine 代码示例演示如何为爬网范围管理器(CSM)索引作定义命令行选项。
DSearch DSearch 代码示例演示如何使用 iSearchQueryHelper 的 Microsoft.Search.Interop 程序集为静态控制台应用程序创建类以查询 Windows 搜索。
IFilterSample IFilterSample 代码示例演示如何创建用于实现 IFilter 接口的 IFilter 基类。
OpenSearch OpenSearch 代码示例演示如何使用 OpenSearch 协议和 OpenSearch 描述符(.osdx)文件(搜索连接器)创建联合搜索服务。
PropertyEdit PropertyEdit 代码示例演示如何将规范属性名称转换为 PROPERTYKEY,将属性存储的值设置为项的值,并将数据写回到文件流。
ReindexMatchingUrls ReindexMatchingUrls 代码示例演示如何提供三种方法来指定要重新编制索引的文件:与文件类型、mime 类型或指定 WHERE 子句匹配的 URL。
SearchEvents SearchEvents 代码示例演示如何确定索引事件的优先级。
StructuredQuerySample StructuredQuerySample 代码示例演示了如何从控制台读取行,使用系统架构分析它们,并显示生成的条件树。
WSFromScript WSFromScript 代码示例演示如何使用 Microsoft ActiveX 数据对象(ADO)从 Microsoft Visual Basic 脚本查询 Windows 搜索。
WSOleDB WSOleDB 代码示例演示了对 Windows 搜索应用程序的活动模板库 (ATL) OLE DB 访问,并演示了两种从 Windows 搜索检索结果的其他方法。
WSSQL WSSQL 代码示例演示如何通过结构化查询语言(SQL)在 Microsoft OLE DB 和 Windows 搜索之间进行通信。

 

概念性概述

以下方面的 Windows 7 概念性概述。

主题 内容
Windows 中的联合搜索 介绍使用 OpenSearch 技术对远程数据存储进行搜索联合的 Windows 7 支持,使用户能够从 Windows 资源管理器中访问远程数据并与之交互。
Windows 中的联合搜索入门 告诉你如何构建可以使用 Windows 联合搜索进行搜索的基于 Web 的数据存储,并启用远程数据源与 Windows 资源管理器的丰富集成,而无需编写或部署任何 Windows 客户端代码。
在 Windows 联合搜索中连接 Web 服务 介绍在数据存储和 Windows 联合搜索之间连接 Web 服务所涉及的步骤,以及如何在 RSS 或 Atom 中发送查询和返回搜索结果。
在 Windows 联合搜索中启用数据存储 介绍如何允许 OpenSearch Web 服务访问数据存储,以及如何避免这样做的潜在障碍。
在 Windows 联合搜索中创建 OpenSearch 说明文件 介绍如何创建 OpenSearch Description (.osdx) 文件,以通过 OpenSearch 协议将外部数据存储连接到 Windows 客户端。
遵循 Windows 联合搜索中的最佳做法 列出最佳做法,通过该最佳做法可以构建一个可以使用 Windows 联合搜索进行搜索的基于 Web 的数据存储,并将远程数据源与 Windows 资源管理器集成,而无需编写或部署任何 Windows 客户端代码。
在 Windows 联合搜索中部署搜索连接器 说明用户如何通过打开 OpenSearch Description (.osdx) 文件、如何部署 .osdx 文件以及如何跟踪 OpenSearch 服务的使用情况,向联合搜索注册新的远程数据存储。

 

过滤 器

主题 内容
开发筛选器处理程序 Microsoft Windows 搜索使用筛选器提取项目内容,以便将其包含在全文索引中。 可以通过编写筛选器来提取内容,以及属性处理程序以提取文件的属性,从而扩展 Windows 搜索以为新文件类型或专有文件类型编制索引。
关于 Windows 搜索 中的筛选器处理程序的 筛选器处理程序( IFilter 接口的实现)扫描文档以获取文本和属性。 筛选器处理程序从这些项中提取文本块,筛选掉嵌入格式并保留有关文本位置的信息。 它们还会提取值区块,这些值是文档属性。 IFilter 是构建更高级别应用程序的基础,例如文档索引器和独立于应用程序的查看器。
在 Windows 搜索 中创建筛选器处理程序的 最佳做法 Microsoft Windows 搜索使用筛选器提取项目内容,以便将其包含在全文索引中。 可以通过编写筛选器处理程序来提取内容,以及属性处理程序以提取文件的属性,从而扩展 Windows 搜索以为新文件类型或专有文件类型编制索引。 筛选器与文件类型相关联,如文件扩展名、MIME 类型或类标识符(CLSID)所表示。 虽然一个筛选器可以处理多个文件类型,但每种类型只处理一个筛选器。
从筛选器处理程序返回属性 属性是从使用已注册属性处理程序的项中提取的,或使用为特定文件类型注册的筛选器。 筛选器处理程序( IFilter 接口的实现)可以通过多种方式解释文件类型的内容。
随 Windows 一起交付的筛选器处理程序 Microsoft提供了多个带有 Windows 搜索的标准筛选器。 客户端调用这些筛选器处理程序(这些处理程序是 IFilter 接口的实现),以从文档中提取文本和属性。
在 Windows 搜索 中实现筛选器处理程序 说明了解筛选器处理程序所需的 DLL 结构( IFilter 接口的实现)。
注册筛选器处理程序 必须注册筛选器处理程序。 还可以通过注册表或使用 ILoadFilter 接口查找给定文件扩展名的现有筛选器处理程序。
测试筛选器 IFilter 测试套件验证筛选器处理程序。

 

索引和查询索引

主题 内容
Windows 7 中的索引优先级和行集事件 概述 Windows 7 的索引优先顺序和行集事件简介。

 

图书馆

主题 内容
Windows 7 中的库 概述 Windows 7 的索引优先顺序和行集事件简介。

 

枚举

主题 内容
CASE_REQUIREMENT 指定查询关键字(如果有)的事例要求。
CONDITION_CREATION_OPTIONS 提供一组标志,用于以下接口来指示条件树节点的类型:IConditionICondition2、IConditionFactoryIConditionFactory2IConditionGenerator
CONDITION_OPERATION 提供一组标志,用于以下方法来指示 ICondition::GetComparisonInfo 中的作, ICondition2::GetLeafConditionInfoIConditionFactory::MakeLeafIConditionFactory2::CreateBooleanLeafIConditionFactory2::CreateIntegerLeafIConditionFactory2::MakeLeafIConditionFactory2::CreateStringLeafIConditionGenerator::GenerateForLeaf
CONDITION_TYPE 提供一组标志,用于指示条件树节点的类型:ICondition::GetConditionType、IConditionFactory::MakeAndOrIConditionFactory2::CreateCompoundFromArrayIConditionFactory2::CreateCompoundFromArray2::CreateCompoundFromObjectArray
PRIORITY_LEVEL IRowsetPrioritization 接口用来设置或检索由查询指定的范围的当前索引器优先顺序级别。
ROWSETEVENT_ITEMSTATE 描述与行集的搜索条件匹配的项当前是否在该行集中。
ROWSETEVENT_TYPE 描述对行集数据的更改类型。
STRUCTURED_QUERY_SYNTAX 指定查询语法的类型。

 

接口

主题 内容
ICondition 提供用于检索有关搜索条件的信息的方法。 ICondition 对象表示将输入字符串(如 IQueryParser::P arseIQuerySolution::GetQuery)分析为搜索条件节点树等方法的结果。 节点可以是用于比较子节点的逻辑 AND、OR 或 NOT,也可以是比较属性和常量值的叶节点。
ICondition2 扩展 ICondition 接口的功能。 ICondition2 提供了用于检索有关搜索条件的信息的方法。
IConditionFactory2 扩展 IConditionFactory 的功能。 IConditionFactory2 提供了用于创建或解析通过分析查询字符串获取的条件树的方法。
IRichChunk 将数据区块表示为字符串和 PROPVARIANT 值。
IRowsetEvents 公开用于接收事件通知的方法。 在 Windows 7 及更高版本中,索引器事件允许数据提供程序在其行集上接收通知。 利用索引事件的提供程序能够以类似于实际文件系统位置的方式维护其行集(此类非文件系统位置的示例为库和搜索)。 索引器事件是库视图对文件系统通知对文件文件夹视图。
必须实现 IRowsetEvents 才能接收有关事件的以下通知:OnChangedItemOnDeletedItemOnNewItemOnRowsetEvent ROWSETEVENT_ITEMSTATEROWSETEVENT_TYPE枚举器分别捕获项状态和行集事件。
IRowsetPrioritization 设置或检索此查询指定的范围的当前索引器优先级级别。
ISearchCrawlScopeManager2 扩展 ISearchCrawlScopeManager 接口的功能。 ISearchCrawlScopeManager2 提供了一些方法,用于通知搜索引擎对容器进行爬网和/或监视,以及这些容器下的项目在爬网或监视时要包括或排除。

 

架构元素

主题 内容
搜索连接器描述架构 概述 介绍 Windows 资源管理器库和联合搜索提供程序使用的搜索连接器说明架构。

 

主题 内容
作者元素(搜索连接器架构) 可选 <author> 元素指定此库的作者。 此元素没有子元素,也没有属性。
dateCreated 元素(搜索连接器架构) 可选的 <dateCreated> 元素使用 ISO 8601 标准标识创建此搜索连接器的日期和时间。 它没有子元素,也没有属性。
scope 元素(搜索连接器架构) <深度> 元素指定搜索连接器的范围是否应包括子 URL。 允许值为 DeepShallow。 此元素没有子元素,也没有属性。
description 元素(搜索连接器架构) 可选 <说明> 元素指定此搜索连接器的说明。 此元素没有子元素,也没有属性。
域元素(搜索连接器架构) 可选 <域> 元素指定此搜索连接器使用的搜索服务的 URL。 它显示在详细信息窗格中。 此元素没有子元素,也没有属性。
folderType 元素(搜索连接器架构) <folderType> 元素指定文件夹类型的 GUID。 如果存在 <templateInfo> 元素,则需要此元素。 它没有属性,也没有子元素。
iconReference 元素(搜索连接器架构) 可选 <iconReference> 元素指定此位置的自定义图标。 此元素没有属性,也没有子元素。
imageLink 元素(搜索连接器架构) 可选的 <imageLink> 元素指定此搜索连接器的缩略图。 此元素有一个必需的子元素,没有属性。
imageLink url 元素(搜索连接器架构) <url> 元素指定此搜索连接器缩略图的 URL。 如果 <imageLink> 存在,则需要此元素。 它没有子元素,也没有属性。
includeInStartMenuScope 元素(搜索连接器架构) 可选的布尔 <includeInStartMenuScope> 元素指定是否应将此搜索连接器包含在“开始”菜单搜索范围中。 对于使用文件系统作为数据源的搜索连接器,默认值为 true,对于属性处理程序使用的搜索连接器,默认值为 false。 此元素没有子元素,也没有属性。
isDefaultNonOwnerSaveLocation 元素(搜索连接器架构) 可选的布尔 <isDefaultNonOwnerSaveLocation> 元素指定当家庭组中另一台计算机的用户选择保存项时,搜索连接器中描述的位置是否应用作默认保存位置。 此元素没有子元素,也没有属性。
isDefaultSaveLocation 元素(搜索连接器架构) 可选的布尔 <isDefaultSaveLocation> 元素指定搜索连接器中所述的位置是否应用作默认保存位置。 此元素没有子元素,也没有属性。
isIndexed 元素(搜索连接器架构) 可选的布尔 <isIndexed> 元素指定搜索连接器描述的位置是编制索引(本地还是远程使用 Windows 搜索 4 或更高版本)。 本地文件夹的默认值为 true。 此元素没有子元素,也没有属性。
isSearchOnlyItem 元素(搜索连接器架构) 布尔 <isSearchOnlyItem> 元素指定搜索提供程序是否支持浏览模式,以及搜索模式。 此元素是可选的,没有子元素,也没有属性。
locationProvider 元素(搜索连接器架构) 可选 <locationProvider> 元素指定要由 Web 服务提供商搜索连接器使用的搜索提供程序。 此元素包含一个必需属性和一个可选的子元素。
scope 元素(搜索连接器架构) <模式> 元素指定是应包含还是从搜索连接器范围中排除 URL。 允许值为 IncludeExclude。 此元素没有子元素,也没有属性。
属性元素(搜索连接器架构) 可选 <属性> 元素指定位置提供程序使用的属性。 这些属性特定于此位置提供程序,因此没有要使用的预定义名称集。 <属性> 元素有两个属性,如本主题中所述。
propertyStore 的属性元素(搜索连接器架构) 可选 <属性> 元素指定搜索连接器使用的属性。 这些属性特定于此搜索连接器,因此没有要使用的预定义名称集。 此元素没有子元素。
propertyBag 元素(搜索连接器架构) 所需的 <propertyBag> 元素指定此位置提供程序使用的一个或多个属性集。
propertyStore 元素(搜索连接器架构) 可选的 <propertyStore> 元素指定基于 XML 的 IPropertyStore 的位置,用于存储此搜索连接器的打开元数据。 此元素没有属性,只有一个子元素。
scope 元素(搜索连接器架构) 可选 <范围> 元素指定 <scopeItem> 元素的集合,这些元素定义此特定搜索连接器的范围包含和排除项。 如果存在 <范围>,则它必须至少包含一个 <scopeItem> 元素。 此元素没有属性。
scopeItem 元素(搜索连接器架构) <scopeItem> 元素表示排除/包含范围表中的单个条目。 <scopeItem> 通过添加三个新元素来控制包含和排除文件夹、控制结果深度以及指定范围的位置来扩展标准 shellLinkType 类型。 如果 <范围> 元素存在,则需要此元素。 它具有三个子元素,没有属性。
scopeItem url 元素 (搜索连接器架构) <url> 元素指定表示搜索连接器范围的 URL。 此元素没有子元素,也没有属性。
searchConnectorDescriptionType 元素(搜索连接器架构) <searchConnectorDescriptionType> 元素是搜索连接器定义的顶级容器。
simpleLocation 元素(搜索连接器架构) <simpleLocation> 元素指定基于文件系统或基于协议处理程序的搜索连接器的位置。 此元素有两个子元素,没有属性。
simpleLocation url 元素(搜索连接器架构) <url> 元素指定此搜索连接器位置的 URL。 此值可以是 RFC 1738 (https://www.ietf.org/rfc/rfc1738.txt) 文档中定义的常规 file:// URL,也可以是使用已知文件夹:协议的 URL。 此元素没有子元素,也没有属性。
支持AdvancedQuerySyntax 元素(搜索连接器架构) 布尔 <支持AdvancedQuerySyntax> 元素指定搜索提供程序是否支持 高级查询语法。 默认值为 false。 此元素是可选的,没有子元素,也没有属性。
templateInfo 元素(搜索连接器架构) 此可选 <templateInfo> 元素指定用于显示此搜索连接器查询结果的文件夹类型。 此元素没有属性,只有一个必需的子元素。

 

结构

主题 内容
HITRANGE 标识查询搜索条件与索引数据匹配时匹配数据的范围。

 

Windows 7 搜索

Windows 7 中的索引优先级和行集事件

Windows 7 中的 Windows Shell 库