开发协议处理程序加载项

注意

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

可以通过实现自定义协议处理程序,将 Microsoft Windows 桌面搜索 (WDS) 扩展为包含新的数据存储。

使用协议处理程序为数据存储编制索引

数据存储是 (数据库系统、目录、文件系统) 的内容源,其中存储数据并由 WDS 索引器进行爬网。 存储可以是分层 ((如数据库) )或基于链接的 ((如网站) )。 协议处理程序使 WDS 等索引应用程序能够系统地对数据存储的节点进行爬网,以提取要包含在索引中的相关信息。 每个协议处理程序都用于为特定类型的数据存储编制索引。 WDS 附带用于文件系统存储以及 Microsoft Outlook 和 Microsoft Outlook Express 数据存储 (电子邮件存储的协议处理程序。PST 文件等) 。 例如,在为 Outlook 电子邮件编制索引时,协议处理程序会爬网所有文件夹中的所有邮件,从每封邮件和附件中提取信息。 此信息将传递到要包含在 WDS 目录中的索引器。

通常,用户需要搜索其他数据存储,例如旧数据库、电子邮件存储或 WDS 不支持的数据结构。 可以通过使用或实现特定于该数据存储的协议处理程序来扩展 WDS 以对新数据存储进行爬网。 首先,应首先确定数据存储中是否存在协议处理程序,可能用于 SharePoint Services 等其他应用程序。 如果是这样,可以在系统上安装该协议处理程序。 但是,如果不存在另一个协议处理程序,则需要实现一个协议处理程序。 WDS 协议处理程序使用与 SharePoint Services 相同的设计规范,它们通常可以互换使用。

此外,如果数据存储包含 WDS 支持的 200 种文件类型之一以外的数据或文件类型,则还需要实现筛选器来访问存储中项的内容并编制索引。 WDS 2.x 使用 SharePoint Services 使用的协议处理程序和 IFilter技术。 如果已在要编制索引的系统上安装了特定存储和文件类型的筛选器,则 WDS 将使用现有接口为这些数据编制索引。

 

添加新数据存储的路线图

若要扩展 WDS 以对新数据存储进行爬网,可以创建协议处理程序和以下一个或多个加载项:上下文菜单处理程序、图标处理程序和 SearchProtocolOptions 加载项。

  1. 为数据存储创建并注册多线程协议处理程序:

    • ISearchProtocol - 此接口访问协议并将 URL 映射到 IUrlAccessor。
    • IUrlAccessor - 这是main接口,用于从内容源访问项并将内容绑定到相应的筛选器。
    • IProtocolHandlerSite - 此接口用于请求和加载其他筛选器。
    • IFilter - 此接口将文件夹中每个项目的 URL 作为值属性返回进行处理。

    注意

    从非分层数据存储返回搜索结果所需的最低加载项功能是实现 ISearchProtocol 和 IUrlAccessor 接口。

     

  2. 实现 ISearchProtocolOptions 接口以包含自定义的协议处理程序选项,例如预定义的起始页 () :

    • ISearchProtocolOptions - 此接口定义要处理的协议处理程序的默认 URL,确定协议处理程序的要求,并确定给定系统上是否满足要求。
  3. 通过实现以下接口,扩展 Shell 以包括用户界面元素,如上下文菜单和文件特定的图标:

    • IShellFolder - 需要此接口来管理文件夹,以便为新存储中的 URL 提供 IContextMenu 和 IExtractIcon 接口。
    • IPersistFolder - 需要此接口来指示 Shell 文件夹对象初始化自身。
    • IPersist - 此接口提供可永久存储在系统中的对象的类标识符 (CLSID) 。
    • IContextMenu - 此接口定义 URL 指向的项的右键单击上下文菜单。
    • IExtractIcon - 此接口定义要为 URL 指向的项显示的图标。
  4. 实现一种机制,以通知索引器对数据存储的更改:

    • ISearchItemsChangedSink - 此接口使协议处理程序能够通知索引对数据存储的更改。 这通过确保索引器不会对增量索引上的整个存储进行爬网来提高性能。

参考

实现 WDS 的协议处理程序

使用 Shell 扩展添加图标、预览和上下文菜单

通知索引更改

安装和注册协议处理程序