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 代码示例演示如何提供三种方法来指定要重新编制索引的文件:匹配文件类型的 URL、mime 类型或指定的 WHERE 子句。
SearchEvents SearchEvents 代码示例演示如何确定索引事件的优先级。
StructuredQuerySample StructuredQuerySample 代码示例演示了如何从控制台读取行,使用系统架构对其进行分析,并显示生成的条件树。
WSFromScript WSFromScript 代码示例演示如何使用 Microsoft ActiveX 数据对象 (ADO) 从 Microsoft Visual Basic 脚本查询 Windows 搜索。
WSOleDB WSOleDB 代码示例演示活动模板库 (ATL) OLE DB 访问 Windows 搜索应用程序,并演示了从 Windows 搜索检索结果的另外两种方法。
WSSQL WSSQL 代码示例演示如何通过 结构化查询语言 (SQL) 在 Microsoft OLE DB 和 Windows 搜索之间进行通信。

 

概念概述

以下方面提供了 Windows 7 概念概述。

主题 目录
Windows 中的联合搜索 介绍 Windows 7 支持使用 OpenSearch 技术将搜索联合到远程数据存储,使用户能够从 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 搜索中实现筛选器处理程序 说明了解筛选器处理程序 (IFilter 接口) 实现所需的 DLL 结构。
注册筛选器处理程序 必须注册筛选器处理程序。 还可以通过注册表或使用 ILoadFilter 接口查找给定文件扩展名的现有筛选器处理程序。
测试筛选器 IFilter 测试套件验证筛选器处理程序。

 

编制索引和查询索引

主题 目录
为 Windows 7 中的优先级和行集事件编制索引 概述了针对 Windows 7 的索引优先级和行集事件的引入。

 

主题 目录
Windows 7 中的库 概述了对 Windows 7 的索引优先级和行集事件的介绍。

 

枚举

主题 目录
CASE_REQUIREMENT 指定查询关键字(如果有)的事例要求。
CONDITION_CREATION_OPTIONS 提供一组要与以下接口一起使用的标志,以指示条件树节点的类型: IConditionICondition2IConditionFactoryIConditionFactory2IConditionGenerator
CONDITION_OPERATION 提供一组标志,用于指示 ICondition::GetComparisonInfo 中的操作的以下方法, ICondition2::GetLeafConditionInfoIConditionFactory::MakeLeafIConditionFactory2::CreateBooleanLeafIConditionFactory2::CreateIntegerLeafIConditionFactory2::MakeLeafIConditionFactory2::CreateStringLeafIConditionGenerator::GenerateForLeaf
CONDITION_TYPE 提供一组标志,用于指示条件树节点的类型: ICondition::GetConditionTypeIConditionFactory::MakeAndOrIConditionFactory2::CreateCompoundFromArrayIConditionFactory2::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 提供的方法可通知搜索引擎要爬网和/或watch的容器,以及这些容器下在爬网或监视时要包含或排除的项目。

 

架构元素

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

 

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

 

结构

主题 目录
HITRANGE 当查询搜索条件与索引数据匹配时,标识匹配数据的范围。

 

Windows 7 搜索

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

Windows 7 中的 Windows Shell 库