本主题列出了最佳做法,通过该最佳做法可以构建一个可以使用 Windows 联合搜索进行搜索的基于 Web 的数据存储,并将远程数据源与 Windows 资源管理器集成,而无需编写或部署任何 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 中的联合搜索中的“其他资源”。
相关主题