联合搜索概述

备注

本主题介绍 Infrastructure Update for Microsoft Office Servers中的功能。若要下载此更新,请参阅 2008 年 7 月 15 日版 SharePoint Server 2007 基础结构更新说明

Microsoft Office SharePoint Server 2007 企业级搜索提供了两种处理查询以返回搜索结果的方法:

  • **内容爬网   **在此方法中,将基于用户的查询从搜索服务器的内容索引中返回结果。内容索引包含搜索服务器进行爬网的内容,并包括每个内容项的文本内容和元数据。此过程与“Microsoft Office SharePoint Server 2007 企业级搜索”中描述的过程相同。有关详细信息,请参阅企业级搜索体系结构

  • **联合搜索   **在此方法中,您将能够显示搜索服务器未进行爬网的附加内容的搜索结果。通过联合,将可以对本地内容索引执行查询,或可以将查询转发到一个外部内容库,查询将在其中由该存储库的搜索引擎进行处理。该存储库的搜索引擎随后将结果返回到搜索服务器。搜索服务器将设置来自外部存储库的结果的格式,并在同一搜索结果页(此结果页同时呈现来自搜索服务器自己的内容索引的结果)中呈现该结果。

本主题概述企业级搜索中的联合搜索。

联合搜索与企业级搜索中的内容爬网相比较

为了帮助决定是直接对存储库的内容进行爬网还是使用联合搜索,您应考虑这两种方法之间的不同之处。您必须根据内容库以及对所需返回搜索结果的要求来确定哪种方法最适当。这两种方法各有优势。

使用 Microsoft Office SharePoint Server 2007 企业级搜索对内容爬网的优势

通过查询搜索服务器的内容索引来获得搜索结果,您将能够执行以下操作:

  • 按相关性对结果进行排序。

  • 控制内容索引的更新频率。

  • 指定对什么元数据进行爬网。

  • 对已爬网内容执行单一备份操作。

使用 Microsoft Office SharePoint Server 2007 企业级搜索联合内容的优势

通过使用联合搜索来返回搜索结果:

  • 内容索引没有额外的容量要求,因为企业级搜索不会对内容进行爬网。

  • 您可以利用存储库的现有搜索引擎。例如,您可以联合 Internet 搜索引擎来搜索 Web。

  • 您可以针对存储库的特定内容集优化内容库的搜索引擎,这样,在对该内容集进行搜索时,性能将更加出色。

  • 您可以访问针对爬网进行保护但可通过搜索查询进行访问的存储库。

联合位置

联合位置 定义连接到外部内容库的联合搜索连接,并由以下各项组成:

  • 位置类型

  • 查询和“更多结果”链接模板

  • 触发器

  • 显示信息

  • 限制

  • 身份验证和凭据信息

位置类型

企业级搜索支持以下类型的联合位置:

  • **本地搜索索引   **搜索服务器本地的 SharePoint 网站。

  • **OpenSearch 1.0/1.1   **任何远程搜索服务器结果页的 RSS 源,或者任何支持 OpenSearch 标准并返回结构化 XML 格式的搜索结果(例如,RSS 或 Atom 结果)的可搜索源。

通过构建利用可搜索 XML 源公开存储库的轻型接口,您可以联合其他存储库。然后,您可以创建连接到该轻型接口的 OpenSearch 位置。有关如何以可搜索 XML 源的形式公开存储库的详细信息,请参阅构建联合搜索连接器的体系结构指南

查询和“更多结果”链接模板

查询模板包含指向位置的 Web 接口的参数化 URL,并包含搜索查询及搜索引擎需要的任何其他参数。

查询模板与 OpenSearch 规范中的 URL 模板等效,并且语法基于 OpenSearch URL 模板语法

“更多结果”链接模板包含一个 HTML 网页的 URL,该网页显示联合搜索位置的结果。

触发器

触发器是一种确定何时传递查询的查询约束。只会将与位置定义中为触发器指定的模式相匹配的查询转发到联合位置。触发器对于联合体验至关重要,因为它们可确保只显示针对用户查询的信息。

有三种类型的触发器:

  • **始终  **  “始终”触发器会始终将查询转发到联合位置。如果为联合位置指定此触发器,请确保该位置具有足够的带宽来处理额外的查询通信。

  • **前缀  ** “前缀”触发器包含一个确切词条,查询必须使用该词条作为前缀,位置才会匹配查询。例如,如果指定“weather”作为前缀触发器,则查询“weather New York, NY”将匹配,但只会将“New York, NY”转发到联合位置。

  • **模式  ** “模式”触发器包含一个指定正则表达式模式,查询必须与该模式匹配,触发器才会转发查询。若要只将查询的一部分转发到联合源,您可以创建一个捕获组。随后可在查询模板中引用该捕获组。有关正则表达式和捕获组的详细信息,请参阅 .NET Framework 正则表达式

显示信息

显示信息指定如何显示返回的搜索结果,并包括以下各项:

  • 指定如何设置搜索结果 XML 的格式并呈现该 XML 的 XSLT

  • 要显示在搜索结果 UI 中的属性的列表

    备注

    企业级搜索将为 OpenSearch 联合位置检索所有返回的属性。

  • 在与 Windows SharePoint Services 3.0 兼容的编辑器中编辑顶部联合结果 Web 部件时,用于提供该 Web 部件预览的示例数据

限制

您可以在位置定义中指定限制来限定可以使用联合位置的网站。

身份验证和凭据信息

在位置定义的身份验证和凭据信息部分中,您为联合位置指定身份验证类型。身份验证类型可以为以下类型之一:

  • **匿名   **无需凭据即可连接到联合位置。

  • 公用   每个连接使用一组相同的凭据来连接到联合位置。

  • **每用户   **使用提交搜索查询的用户的凭据来连接到联合位置。

对于公用和每用户身份验证类型,您必须同时指定以下身份验证协议之一:

  • 基本

  • 摘要式

  • NTLM 应用程序池标识(仅限公用身份验证类型)

  • NTLM

  • Kerberos(仅限每用户身份验证类型)

  • 表单

  • Cookie

备注

如果针对每用户身份验证配置了联合位置,并且位置的内容库位于远程服务器上,则您必须使用 Kerberos 身份验证或创建自定义的联合搜索 Web 部件。这些自定义 Web 部件必须包括用于要求输入用户凭据的 UI 元素,以便能够在请求中将凭据传递到联合位置。

联合搜索结果 UI

企业级搜索包括以下新的 Web 部件,用于显示来自联合位置的搜索结果。

联合结果 Web 部件

此 Web 部件显示来自指定联合位置的结果。您只能在联合结果 Web 部件中指定一个位置。默认情况下,有两个联合结果 Web 部件,其中一个显示来自 Windows Live Search 的相关搜索,另一个显示 Windows Live Search 结果。

顶部联合结果 Web 部件

此 Web 部件显示第一个返回搜索结果的联合位置中的结果。您可以按优先级顺序为该 Web 部件配置多个位置。默认情况下,没有为此 Web 部件配置位置。

自定义搜索结果 UI

联合位置的搜索结果将以 XML 形式返回到搜索服务器。将基于指定 XSLT 设置结果的格式和呈现结果。可以在搜索服务级别、位置定义配置中或者在 Web 部件的属性中为 Web 部件的特定实例指定该 XSLT。有关修改 XSLT 以自定义搜索结果视图的信息,请参阅企业级搜索核心结果 XSLT 转换

备注

用于本文中描述的联合搜索 Web 部件和核心结果 Web 部件的 XSLT 不同。但是,使用 XSLT 来自定义搜索结果显示方式的方法却是相同的。

联合搜索可编程性

有关企业级搜索对象模型的信息,请参阅以下主题:

查询对象模型

企业级搜索未提供通过查询对象模型以编程方式访问联合位置中的搜索结果的功能。对于联合搜索结果自定义方案,您必须创建扩展联合搜索 Web 部件的自定义 Web 部件。

搜索管理对象模型

Microsoft.Office.Server.Search.Administration 命名空间包括以下新类,您可以在以编程方式创建和配置联合位置时使用这些类:

联合搜索 Web 部件对象模型

Microsoft.Office.Server.Search.WebControls 命名空间包括用于联合搜索 Web 部件的新类。

下面是联合搜索 Web 部件类的基类:

Following are the classes that implement the Federated Search Results Web Part:

Following are the classes that implement the Top Federated Results Web Part:

You can extend these classes to create custom federated search Web Parts. As mentioned earlier in the "Authentication and Credentials Information" section, in any scenario where the federated location is located on a remote server, is configured for per-user authentication, and the authentication mode is not Kerberos, you must create custom federated search Web Parts that provide a user interface to request credentials from the user to pass to the federated location.

See Also

参考

Enterprise Search

OpenSearch Specification

概念

构建联合搜索连接器的体系结构指南