企业级搜索查询 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 方法。
名称 |
说明 |
---|---|
返回范围列表。 |
|
返回托管属性和范围的列表。 |
|
Query() |
在指定查询的 XML 字符串中返回一组结果。 |
QueryEx() |
在指定查询的 Microsoft ADO.NET DataSet 对象中返回一组结果。 |
Registration() |
返回指定网站的名称。 |
返回搜索服务的可用性。 |
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