遵循 Windows 联合搜索中的最佳做法

本主题列出了最佳做法,通过该最佳做法可以构建一个可以使用 Windows 联合搜索进行搜索的基于 Web 的数据存储,并将远程数据源与 Windows 资源管理器集成,而无需编写或部署任何 Windows 客户端代码。

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

在 Windows 7 中使用 OpenSearch 的最佳做法如下:

  • 支持 {startIndex} 和 {count} 参数,并确保始终返回请求的项目数,除非返回最后一个结果。

  • 如果知道文件扩展名,请将其映射到 System.FileExtension Windows Shell 属性。 使用文件扩展名是识别文件类型比 MIME 类型更好的方法。

  • 确保你在 RSS 中指定的 MIME 类型或文件扩展名与请求项内容时托管项的 Web 服务器在 HTTP 标头中返回的文件名和 MIME 类型匹配。

  • 如果要返回文件项,请尽可能返回文件大小。 这可确保下载进度对话框准确无误。

  • 验证请求超出结果集末尾的项目不返回任何结果。

    注释

    不要重复结果。

     

  • 不要将 HTML 标记放在它们不属于的位置。 根据 RSS 规范,它们在说明字段中有效,但在标题字段中无效。

  • 不要为网页元素创建封装。 例如,如果创建一个封装并将文件扩展名映射为 .aspx,Windows 资源管理器会将该文件下载并放置于 Internet 缓存中,然后从那里执行。 Web 浏览器不处理.aspx文件类型。 用户将收到一个 “打开” 对话框,或者文件可能由Microsoft Visual Studio 等应用程序打开。 通过仅返回网页的链接元素来避免此问题。

  • 在 .osdx 文件中使用 URL 模板 format="text\html" 提供 Web 悬停 URL。

  • 通过将自定义元素 URL 值映射到 System.ItemFolderPathDisplay Windows Shell 属性,提供父文件夹、容器或网页的 URL。

创建 RSS 输出的最佳做法

创建 RSS 输出的最佳做法如下:

  • 每个项必须返回 URL link 或 enclosure 值(或等效项,例如 media:content)
  • 不要在 标题 属性中包含任何 HTML 格式标记,否则这些标记将显示在标题中,并显示在 Windows 资源管理器中。
  • 对于 description 元素:
    • 显示足够的信息,以便用户知道为什么此结果可能相关。
    • 请勿包含 HTML 格式。 OpenSearch 提供程序将删除格式,这可能会导致说明结果不理想。
    • 不要包括已在其他元素(如附件文件名、大小、修改日期等)中提供的元数据,因为 Windows 资源管理器已经提供了这些元数据。 在 description 元素中显示它将是冗余的。
  • 对于附件或内容的 URL:
    • 将类型属性指定为有效的 MIME 类型。
    • 指定文件大小(以字节为单位)。
  • 如果您正在使用 .NET 实现 RSS 输出,请在 Microsoft Internet Explorer 中测试该订阅的有效性,以查看它在部署到 Windows 资源管理器之前是否有效。

其他资源

有关在 Windows 7 及更高版本中使用 OpenSearch 技术实现对远程数据存储的搜索联合的其他信息,请参阅 Windows 中的联合搜索中的“其他资源”。

Windows 中的联合搜索

Windows 中的联合搜索入门

在 Windows 联合搜索中连接 Web 服务

在 Windows 联合搜索中启用数据存储

在 Windows 联合搜索中创建 OpenSearch 说明文件

在 Windows 联合搜索中部署搜索连接器

扩展索引