URL 格式设置要求

从 Windows 7 开始,URL 的处理和分析仍存在不一致。 本主题提供了一个有限的指南来导航文件 URL 格式中的不一致。

本主题的组织方式如下:

正在使用的 URL 格式

第三方协议负责定义其 URL 格式,并以符合其标准的方式定义查询。 例如,Microsoft Outlook 支持包含任意字符的文件夹名称,包括 URL 中非法的名称,如 "?" 字符。 MAPI 协议处理程序对其 URL 执行自己的 URL 编码。 因此,索引存储 "%3F" 而不是 "?" ,Outlook 在创建查询时必须考虑到这一点。

下表中列出了不同的格式,并为每个格式分配了一个字母标识符,用于在本主题后面部分引用它们。

ID 本地文件 URL 或远程文件 示例
A Local file:///c:\test\example\
B Local file:c:/test/example/
C Local c:\test\example\
D Remote file:///\\server\share\
E Remote file://server/share/
F Remote \\server\share\

 

斜杠方向、尾随星形和尾随斜杠敏感度

在 Windows 搜索中,斜杠方向基本上没有敏感度。 如果接受格式 c:\test\example ,则也接受 c:/test/example。 但是,尽管 SCOPE 通常对斜杠方向不敏感,但在远程 URL格式 F 的情况下,它对斜杠方向敏感。因此不起作用Scope = '//server/share'

唯一对尾随星敏感并区分 和 c:\test\*c:\test\ API 是 ISearchCrawlScopeManager。 如果 存在针对 的 c:\test\*排除规则,仍将为 URL 目录 c:\test 本身编制索引。 但如果排除 URL 为 c:\test\,则不会为 URL 目录 c:\test 本身编制索引。

Windows 搜索在两个位置对尾部斜杠敏感:ItemUrl 和 Path 查询。 如果存在目录c:\test,则 Windows 搜索对 和 System.ItemUrl = 'c:\test'path = 'c:\test'词的处理c:\test\方式c:\test与 不同。 例如,由于尾部斜杠,谓词 path='file:c:/test' 与目录 c:\test匹配,但 path='file:c:/test/' 不匹配。

API 和查询的 URL 格式

下表列出了所选 API 和查询接受的本地文件 URL 格式。 这些格式与字母 (A 到 F) 相关联,其含义在本主题前面的“使用的 URL 格式”部分中表示。

API 或查询 设置 A 格式 格式 B C 格式
ISearchCrawlScopeManager Y N Y
IGatherNotifyInline::OnDataChange Y Y Y
ISearchCatalogManager::ReindexMatchingURLs Y Y Y
ISearchCatalogManager::ReindexSearchRoot Y N N
ISearchCatalogManager2::P rioritizeMatchingURLs Y Y Y
Scope= N Y Y
Directory= N Y Y
ItemUrl= N Y Y
Path= N Y Y

 

下表列出了所选查询接受的远程文件 URL 格式。

查询 格式 D 格式 E F 格式
ISearchCrawlScopeManager 空值 空值 空值
IGatherNotifyInline::OnDataChange 空值 空值 空值
ISearchCatalogManager::ReindexMatchingURLs 空值 空值 空值
ISearchCatalogManager::ReindexSearchRoot 空值 空值 空值
ISearchCatalogManager2::P rioritizeMatchingURLs 空值 空值 空值
Scope= Y Y Y
Directory= Y Y Y
ItemUrl= Y Y Y
Path= Y Y Y

 

索引中包含的内容

Windows 搜索中的索引进程

Windows 搜索中的查询进程

Windows 搜索中的通知进程