将 SharePoint Portal Server Search 2003 自定义升级到企业级搜索

在 Microsoft Office SharePoint Portal Server 2003 (SharePointPSSearch) 中,您可以通过多种方式自定义 SharePoint Portal Server Search 2003 (SharePointPSSearch) 搜索体验。将 SharePoint Portal Server 2003 门户网站升级到 Office SharePoint Server 2007 可能会影响搜索自定义设置。本主题介绍 SharePointPSSearch 2003 自定义设置,以及升级过程会对这些自定义设置产生怎样的影响。

升级过程

将门户网站从 SharePoint Portal Server 2003 升级到 Office SharePoint Server 2007 时,您可以从以下两种升级过程中进行选择:

  • 就地升级。此过程将一次性升级已升级门户网站中的所有内容;在升级过程完成之前,门户网站将不可用。

  • 并排升级。此升级过程是逐步进行的;门户网站的一部分使用新版本,而其他网站则继续使用以前的版本。

Office SharePoint Server 2007 搜索支持这两种升级过程。当您使用并排升级时,服务器场将同时运行 SharePointPSSearch 服务和 Office SharePoint Server 2007 搜索服务。

备注

只会升级搜索配置设置;过程中不会包括内容索引。您必须在升级后对内容重新爬网才能建立新的内容索引。

搜索自定义设置

在 SharePoint Portal Server 2003 中,您可以采用多种不同方式自定义搜索。下面列出了这些自定义设置;单击链接可详细了解该区域的自定义解决方案在升级过程中可能会受到怎样的影响:

  • 使用搜索管理的自定义设置

  • 查询搜索

  • 搜索 UI 自定义设置

使用搜索管理的自定义设置

对于 SharePointPSSearch,搜索管理类位于 Microsoft.SharePoint.Portal.Admin.Search 命名空间中。在 Office SharePoint Server 2007 搜索中,Microsoft.SharePoint.Portal.Admin.Search 已被替换为新的搜索管理命名空间 Microsoft.Office.Server.Search.Administration。

您可以编写自定义代码,以便通过编程方式使用包含在 Microsoft.Office.Server.Search.Administration(位于 Microsoft.Office.Server.Search.dll 中)内的类来管理搜索。

备注

由于移除了 Microsoft.SharePoint.Portal.Admin.Search,因此,当您升级到 Office SharePoint Server 2007 后,使用其中所包含类的任何代码都将不再有效。

查询搜索

QueryProvider 类

在 SharePointPSSearch 中,您使用 Microsoft.SharePoint.Portal.Search 命名空间中的 QueryProvider 类,依据自定义代码中的搜索服务来执行搜索查询。

在 Office SharePoint Server 2007 搜索中,此类已被弃用,但仍然受支持,因此,当您将搜索服务升级到 Office SharePoint Server 2007 搜索后,依据此类编写的代码将仍然有效。

对于您写入查询搜索服务的任何新代码,请使用替换了 QueryProvider 类的新类。这些类可在位于 Microsoft.Office.Server.Search.dll 中的 Microsoft.Office.Server.Search 命名空间中找到,并包括:

FullTextSqlQuery – 用于全文语法搜索查询

KeywordQuery – 用于关键字语法搜索查询。

搜索查询 Web 服务

Office SharePoint Server 2007 搜索包括查询 Web 服务,该服务向后兼容于 SharePointPSSearch:

http://<portal_site>/_vti_bin/search.asmx

完成了升级过程后,调用 SharePointPSSearch 查询 Web 服务的客户端应用程序将仍然能够工作,并使用 Microsoft.Search.Document 架构格式返回结果。但是,该 Web 服务的新版本在结果返回方式上略有更改;现在将独立于相关结果返回最佳匹配。由于 Microsoft.Search.Document 架构格式不支持返回多个结果集,因此仍在使用此早期架构返回结果的任何客户端将只会返回相关结果。将不会包括最佳匹配。

查询语法

Office SharePoint Server 2007 搜索支持 SQL Server 全文搜索语法,因此针对 SharePointPSSearch 编写的大多数搜索查询在升级到 Office SharePoint Server 2007 搜索后仍然能够工作。不过语法上有所更改,移除或弃用了对某些 SQL 语法元素的支持。表 1 中标识了这些更改。

表 1. Office Server 搜索中的 SQL 语法更改

元素

说明

COALESCE_TABLE 函数

已移除。将需要重新编写使用此函数的查询。

列权重

已移除。如果存在于 Office SharePoint Search 查询中,它将被忽略。

级别修改

已移除。如果存在于 Office SharePoint Search 查询中,它将被忽略。

UNION ALL 元素

已移除。如果存在于 Office SharePoint Search 查询中,它将被忽略。

MATCHES 谓词

已移除。将需要重写使用此谓词的查询。

FROM <范围>

不再支持在 FROM 子句中指定搜索范围。企业级搜索只支持以下 FROM 子句语法:

…FROM scope()…

备注

Office SharePoint Server 2007 搜索中增加了对搜索查询中关键字语法的支持。有关详细信息,请参阅关键字查询语法参考。

搜索 UI 自定义设置

Search.aspx

在 Office SharePoint Server 2007 升级过程中未更改或覆盖 Search.aspx 文件。您对此页面进行的自定义设置在升级后应仍然能够工作。

搜索 Web 部件

包含任何 SharePointPSSearch Web 部件(例如 SearchBox 或 SearchResults)的自定义 Microsoft ASP.NET 页面在升级到 Office SharePoint Server 2007 后应仍然能够工作。