企业级搜索查询 Web 服务概述

Microsoft Office SharePoint Server 2007 企业级搜索通过 XML Web Services 实现其搜索功能。这有助于您通过客户端应用程序和 Web 应用程序在 SharePoint 网站环境之外访问企业级搜索结果。

访问查询 Web 服务

若要访问企业级搜索查询 Web 服务及其方法,请将 Web 引用设置成以下值:

https://Server_Name/[sites/][Site_Name/]_vti_bin/search.asmx

备注

有关通过 Microsoft Visual Studio 2005 设置 Web 引用的分步说明,请参阅如何:在 Visual Studio 2005 中创建用于企业级搜索查询 Web 服务的 Web 服务代理类

Windows SharePoint Services 搜索还提供了查询 Web 服务用于实现其搜索功能。该服务支持与企业级搜索查询 Web 服务相同的 Web 方法,但是将返回 Windows SharePoint Services 搜索结果,范围限于所包含的网站或列表。Windows SharePoint Services 搜索查询 Web 服务的位置是:

https://Server_Name/[sites/][Site_Name/]_vti_bin/spsearch.asmx

有关详细信息,请参阅 Windows SharePoint Services 3.0 SDK 中的 Windows SharePoint Services 查询 Web 服务

Web 方法

下表说明了查询 Web 服务中可用的 Web 方法。

名称

说明

GetPortalSearchInfo

返回范围列表。

GetSearchMetadata

返回托管属性和范围的列表。

Query()

在指定查询的 XML 字符串中返回一组结果。

QueryEx()

在指定查询的 Microsoft ADO.NET DataSet 对象中返回一组结果。

Registration()

返回指定网站的名称。

Status

返回搜索服务的可用性。

Query 方法

查询 Web 服务包含用于检索企业级搜索结果的两种方法:Query 和 QueryEx。

这两种方法都接受相同的输入,即包含指定搜索查询参数的 XML 的字符串;但是,返回结果的格式有所不同。QueryEx 方法将在 System.Data.DataSet 对象中返回搜索结果,而 Query 方法将在 XML 字符串中返回搜索结果。有关详细信息,请参阅返回搜索结果。

选择查询 Web 服务方法

若要在搜索结果中返回诸如相关结果、特殊条件结果和高可信度结果等多个结果类型,必须使用 QueryEx 方法。

构建搜索查询的 XML

搜索查询的 XML 格式是在 企业级搜索的 Microsoft.Search.Query 架构 架构中定义。

实际搜索查询是在 企业级搜索的 Microsoft.Search.Query 架构中的 QueryText 元素 元素中指定。可通过 企业级搜索 SQL 语法引用 语法或 企业级搜索关键字语法参考 语法构建搜索查询;可以指定 QueryText 元素的 type 属性中使用的语法。

以下代码示例是 QueryText 元素的示例 XML,通过 SQL 语法指定搜索查询。

<QueryText language=xml:lang type='MSSQLFT'>
SELECT Title, Path, Description, Write, Rank, Size FROM Scope() WHERE CONTAINS(Description,'SharePoint')
</QueryText>

备注

如果您正在使用 SQL 语法和 Query 方法,则必须指定 SQL 查询的 SELECT 语句中的以下属性:Title、Path、Description、Write、Rank 和 Size。

以下代码示例是 QueryText 元素的示例 XML,通过关键字语法指定搜索查询。

<QueryText language=xml:lang type='STRING'>
SharePoint
</QueryText>

可通过 企业级搜索的 Microsoft.Search.Query 架构中的 Property 元素 元素指定关键字查询所返回的属性。

如果未在查询 XML 中指定任何属性,则企业级搜索将返回默认的属性。

以下是 Query 方法返回的默认属性:

  • Title

  • Description

  • Date

  • Relevance

以下是 QueryEx 方法返回的默认属性:

  • WorkId

  • Rank

  • Title

  • Author

  • Size

  • Path

  • Description

  • Write

  • SiteName

  • CollapsingStatus

  • HitHighlightedSummary

  • HitHighlightedProperties

  • ContentClass

  • IsDocument

  • PictureThumbnailURL

返回搜索结果

QueryEx 方法将在 System.Data.DataSet 对象中返回搜索结果。DataSet 对象包含返回的每个结果类型的 System.DataSet.DataTable 对象。以下是可能返回的不同结果类型:

  • 相关结果,在名为 RelevantResults 的表中

  • 高可信度结果,在名为 HighConfidenceResults 的表中

  • 特殊条件结果,在名为 SpecialTermsResults 的表中

Query 方法将在 XML 字符串中返回搜索结果。XML 的格式由 企业级搜索的 Microsoft.Search.Response 架构企业级搜索的 Microsoft.Search.Response.Document 架构 架构定义。完整搜索结果包括在 Microsoft.Search.Response 架构的 企业级搜索的 Microsoft.Search.Response 架构中的 Results 元素 元素中,每个结果由 Microsoft.Search.Response.Document 架构的 企业级搜索的 Microsoft.Search.Response.Document 架构中的 Document 元素 元素表示。

备注

Query 方法只支持相关结果类型。

本节内容

如何:在 Visual Studio 2005 中创建用于企业级搜索查询 Web 服务的 Web 服务代理类

如何:从客户端应用程序向企业级搜索提交关键字查询

参考

QueryService

企业级搜索 Microsoft.Search 架构引用

企业级搜索 SQL 语法引用

企业级搜索关键字语法参考

相关章节

管理元数据

使用搜索范围

构建企业级搜索查询

See Also

其他资源

Windows SharePoint Services 查询 Web 服务