扩展索引 (旧版 Windows 环境功能)

注意

Windows 桌面搜索 2.x 是一项过时的技术,最初作为 Windows XP 和 Windows Server 2003 的加载项提供。 在更高版本中,请改用 Windows 搜索

强烈建议不要使用和开发 2.x 版本的 Microsoft Windows 桌面搜索 (WDS) ,以支持 Windows 搜索

WDS 可以扩展为新文件类型和数据存储的内容编制索引。 目前,WDS 2.x 包含超过 200 种项目的筛选器, (包括纯文本项(如 HTML、XML 和源代码文件)) ,并使用与 SharePoint Services 相同的 IFilter和协议处理程序技术。 如果已为新文件类型安装了筛选器实现,则 WDS 可以使用现有筛选器接口为此数据编制索引。

WDS 2.x 加载项使索引能够遍历和分析新的数据和数据结构,以获取要添加到可搜索目录的信息。 这些加载项还可以扩展 Windows Shell,以将图标和上下文菜单处理程序与新的文件类型和数据存储相关联。 若要在 WDS 目录中包括新的文件类型,外接程序必须实现 IFilter接口。 若要包含新的数据存储,加载项必须是协议处理程序。 如果新数据存储包含嵌入文件或新文件类型本身,则还需要编写适当的筛选器。

注意

筛选器和协议处理程序必须用本机代码编写,因为所有外接程序在运行过程中存在潜在的 CLR 版本控制问题。

 

将文件类型添加到索引

加载项可以扩展 WDS 以索引新的或专有的文件类型,并将每个新文件类型与特定于文件的图标或上下文菜单相关联。 为此,可以生成并注册以下加载项:

  1. 为每个文件类型实现 IFilter接口,以便 WDS 可以访问和索引文件类型的文本和元数据。
  2. 实现 IExtractIconIContextMenu 接口,以添加图标和上下文菜单,以实现更高的集成性和可用性。

有关实现筛选器的讨论,请参阅 开发 IFilter 外接程序

将数据存储添加到索引

加载项可以扩展 WDS 以索引新数据存储,并将文件与特定于文件的图标或上下文菜单相关联。 为此,可以生成并注册以下协议处理程序:

  1. 实现 ISearchProtocolIUrlAccessor 接口,以处理和绑定内容源中的单个项。 WDS 使用 URL 来唯一标识项,无论这些项位于文件系统中、类似数据库的存储区内还是 Web 上。
  2. 实现 IPersistFolder 接口和 IShellFolder 接口的一部分,以添加图标和上下文菜单,以实现更高的集成性和可用性。

有关实现协议处理程序的讨论,请参阅 开发协议处理程序

外接程序安装程序指南

加载项的安装应遵循以下准则:

  • 安装程序必须使用 EXE 或 MSI 安装程序。
  • 必须提供发行说明。
  • 必须为每个已安装的外接程序创建 “添加/删除程序” 条目。
  • 安装程序必须接管当前外接程序所理解的特定文件类型或存储的所有注册表设置。
  • 如果以前的加载项被覆盖,安装程序应通知用户。
  • 如果较新的外接程序覆盖了以前的外接程序,则应能够还原上一个外接程序的功能,并使其成为该文件类型的默认加载项或再次存储。

参考

开发 IFilter 加载项

开发协议处理程序

其他资源

IFilter