SharePoint 2013 中的混合搜索

原文发布于 2012 年 11 月 6 日(星期二)

我们在设计此版本的 SharePoint 时所遵循的关键指导原则之一是为用户提供一致的云体验。我们知道云可以提供很多好处,但每个客户获得这些好处的速度和方式不同。因此,我们构建此版本以便客户无需舍弃其预期的 Office 中的丰富功能即可充分利用云。

我们的客户通过各种不同的方式使用 SharePoint,并围绕我们的工具构建复杂的生态系统以满足其业务需求。我们知道选择生产力套件要比决定将使用哪种工具复杂得多,无论是业务线应用程序、ERP 系统集成还是其他系统和解决方案。“翻录和替换”策略根本不起作用。因此,我们已着重强调要确保客户可根据自己的条件移至云。我们在这里提出了三个原则:

  1. 一些客户将不会完全移至云 - 我们坚信,在可预见的未来,部分云与部分本地解决方案的混合将成为一种规范。云和本地解决方案必须共存。
  2. 云不是一个封闭的系统 - 客户从 SharePoint 获得的大部分价值都源于我们与客户业务所依赖的其他系统(CRM、ERP、Big Data 等)的交互方式。任何脱离这些系统的解决方案都不可能非常成功。
  3. 无论现有系统是否移至云,客户都必须了解云所带来的极大价值。我们必须试验和探索云中针对客户的新功能,即使客户的大量现有基础结构本地保留也是如此。

所有 Office 365 服务都可以处理云和本地实例的混合。例如,客户可将所有或部分邮箱移至云,并将其所有 SharePoint 基础结构本地保留。此程度的灵活性是我们的一个设计要点。

上传到云也是一个重点关注的方面。例如,在 Exchange 中,我们提供了一个丰富的工具集,用于在云中迁入或迁出邮箱以及在任一环境中处理邮箱混合。

对于 SharePoint,处理混合环境是一件棘手的事情。在 Exchange 中,您有一个单个用户所有的容器(即邮箱)。路由到邮箱的正确区域设置足以使其正常工作。SharePoint 网站和服务涉及到多个人员在一个站点中进行协作、集成来自多个源的数据以及在整个文档集中进行搜索。本质上,云与本地之间并未完全划清界限。因此,我们面临的难题是决定如何处理这些注意事项 - 是先全面关注,然后再在每一处启用混合支持,还是侧重于我们已获得最高价值的方案?最终,我们选择了后者。具体而言,我们将重点构建 oAuth 层以启用服务到服务的身份验证和通信,并提供针对搜索的丰富的混合支持。

您在本地和云中对 SharePoint 进行投资后,您的用户首先需要查找内容,无论内容位于何处。用户希望快速而轻松地找到其所需内容,而无需了解新的概念或执行额外的步骤。我们已添加针对搜索的混合功能来解决此问题。更具体地说,我们使用户能够在执行一个搜索后,在 SharePoint Online 和 SharePoint 2013 本地位置看到最相关的结果。

在此过程中,我们必须解决以下几个设计难题:

  • 如何以可扩展方式从远程系统中检索最新结果
  • 如何将多组结果融入单个搜索体验中
  • 如何提供出色的查询性能

对于第一个问题,我们评估了针对远程系统进行爬网和建立索引与针对运行时查询联合进行爬网和建立索引。出于几个原因,我们选定了后一种方法,这包括最新结果的有效性以及我们在交付快速的、可预测的体验上具有的更强信心。(假设数以万计的客户的搜索爬网程序同时对 SharePoint Online 进行 Ping 操作,则需要进行更改。)

然后,我们必须通过哪种方式向用户呈现结果最为有效。通过使用 SharePoint 2013 中引入的新的查询规则功能,我们在搜索结果页中呈现了一个结果块,其中包括来自内联远程系统的前 n 个搜索结果。用户会在此位置看到排名靠前的结果,并可单击结果块来查看更多结果。搜索系统还会随着时间的推移不断学习 - 如果该结果块中的结果很有用且用户单击了这些结果,则整个块会随着时间的推移在搜索结果页中“上移”。如果用户不单击该块中针对给定查询的结果,则会将该块向下推。

最后,我们侧重于如何简化执行这些远程查询的过程来优化性能。通过在 SharePoint 2013 中改为在客户端呈现搜索结果(在加载初始页面之后),我们打下了坚实的基础。我们对这些远程查询进行建模以使其尽可能地与针对本地搜索索引的常规查询密切关联,并采用最少的额外逻辑以支持对企业防火墙的安全遍历(在 SharePoint Online 中呈现本地结果时)。

混合搜索结果的示例
通过尽可能地接近常规搜索查询对混合搜索查询进行建模,我们能够最大程度地降低基础代码的复杂性并确保整体搜索体验(从悬停面板中的图形精简程序到丰富的 Office 文档预览)在混合解决方案中稳定工作。

让我们通过解答几个常见问题来结束本文。感谢您花时间阅读本博客文章,请发表您的评论来告诉我们您打算如何使用混合!

可使用混合搜索执行哪些操作?

  • 从 SharePoint Online 网站,获取针对云和本地的内容的搜索结果
  • 从本地 SharePoint 2013 网站,获取针对本地和云的内容的搜索结果
  • 有条件地启用特定类型的查询的“混合”结果

我想试用混合搜索。有哪些先决条件?

  • 任何已升级到 SharePoint 2013 的 SharePoint Online 租赁(升级将在 2013 年春季的定期计划中推出)
  • 已本地部署的 SharePoint Server 2013 部署
  • 已通过使用 Microsoft Online Services Directory 同步工具同步到 Office 365 的本地 Active Directory 中的用户配置文件
  • 用于向 SharePoint Online 安全公开您的 SharePoint 2013 本地的反向代理或 F5 设备(只需使 SharePoint Online 中的用户能够查找本地内容)

我可以从何处获得说明?

我们的作者致力于寻求在本地实例和 SharePoint Online 之间配置信任所需的整套步骤,以及用于配置实现混合搜索方案所需的特定于搜索的概念(结果源、查询规则、结果块、安全存储凭据)的步骤。我们希望能够在 TechNet 上及时发布有关 SharePoint 会议(2012 年 11 月 12 日至 15 日)的指南。

这是一篇本地化的博客文章。请访问 Hybrid Search in SharePoint 2013 以查看原文