使用查询 Web Services
上次修改时间: 2015年3月9日
适用范围: SharePoint Server 2010
访问查询 Web Services
Query Web 服务位于以下路径:
https://Server_Name/[sites/][Site_Name/]_vti_bin/search.asmx
可使用开发工具(如 Microsoft Visual Studio)创建客户端应用程序以访问 查询 Web 服务。在 Visual Studio 开发环境中,可通过添加对客户端应用程序的 Web 引用来自动生成代理类,以访问 查询 Web Services。有关如何使用 Microsoft Visual Studio 2010 添加对 查询 Web 服务的 Web 引用的分步说明,请参阅如何:添加对查询 Web Services 的 Web 引用。
或者,可使用 Web Services 描述语言 (WSDL) 工具生成 查询 Web 服务的代理。有关详细信息,请参阅 Web Services Description Language Tool (Wsdl.exe) 和Creating an XML Web Service Proxy。有关创建调用 Web 服务的客户端应用程序的详细信息,请参阅Building XML Web Service Clients。
Web 方法
下表描述了 Query Web 服务中可用的 Web 方法。
名称 |
说明 |
---|---|
GetPortalSearchInfo() |
返回范围的列表。 |
返回查询建议(查询前建议或查询后建议)的列表。 |
|
返回托管属性和范围的列表。 |
|
返回一组针对指定查询的 XML 字符串形式的结果。 |
|
返回一组针对指定查询的 DataSet 形式的结果。 |
|
记录有关用于查询日志记录的搜索查询的信息。 |
|
返回指定网站的名称。 |
|
Status() |
返回搜索服务的可用性。 |
查询方法
Query Web 服务包括用于检索搜索结果的两种方法:Query 和 QueryEx。这两种方法都接受同一输入,即一个包含指定搜索查询参数的 XML 的字符串。但返回的结果的格式不同。
选择查询 Web Services 方法
若要返回搜索结果中的多种结果类型(如相关结果类型、特殊词结果类型和优化结果类型),则必须使用 QueryEx 方法。
绑定搜索查询的 XML
搜索查询的 XML 格式是在 Microsoft.Search.Query 架构中定义的。
实际搜索查询是在 Microsoft.Search.Query 架构中的 QueryText 元素 中指定的。指定在 QueryText 元素的 type 属性中使用的查询语法。对于SharePoint 企业级搜索查询语法引用,请参阅生成搜索查询。
下面的代码示例是 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,该元素通过使用 Keyword 语法指定搜索查询。
<QueryText language=xml:lang type='STRING'>
SharePoint
</QueryText>
备注
XML 中会出现一些差异,具体取决于是将 SharePoint Server 搜索还是 FAST Search Server 2010 for SharePoint 用作搜索提供程序。每个元素的"applies to"子句对此进行了明确说明。
可通过使用 Microsoft.Search.Query 架构中的 Property 元素 元素指定要为关键字查询返回的属性。
如果未在查询 XML 中指定任何属性,则存在一个返回的默认属性集。
以下是为 Query 方法返回的默认属性集:
Title
Description
Date
Relevance
下面是使用 SharePoint Server 搜索作为搜索提供程序时,为 QueryEx 方法返回的默认属性集合:
WorkId
Rank
Title
Author
Size
Path
Description
Write
SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
以下是在将 FAST Search Server 2010 for SharePoint 用作搜索提供程序时为 QueryEx 方法返回的默认属性集:
WorkId
Rank
Title
Author
Size
Path
Description
Write
SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
Url
ServerRedirectedUrl
FileExtension
SpSiteUrl
docvector
fcocount
fcoid
PictureWidth
PictureHeight
返回搜索结果
QueryEx 方法在 DataSet 对象中返回搜索结果,Query 方法在字符串中返回 XML 形式的搜索结果。
备注
Query 方法支持的唯一结果类型为相关结果。
Query 方法
Query 方法返回的 XML 的格式是由 Microsoft.Search.Response 架构和 Microsoft.Search.Response.Document 架构 定义的。完整搜索结果集包含在 Microsoft.Search.Response 架构中的 Results 元素中,其中每个单独的结果均由 Microsoft.Search.Response.Document 架构中的 Document 元素表示。
QueryEx 方法
QueryEx 返回的 DataSet 对象包含 ExtendedProperties 属性,这些属性提供有关查询的其他信息。表 1 描述了返回的扩展属性。
表 1. 扩展属性
名称 |
适用于 |
说明 |
---|---|---|
QueryModification |
FAST Search Server 2010 for SharePoint |
搜索查询的查询修改。如果原始查询返回零个结果,则 FAST Search Server 2010 for SharePoint 可根据查询中的查询 XML 的 ResubmitFlags 元素的设置来修改此查询。 |
Keyword |
SharePoint Server 搜索 |
在 Definition 扩展属性中定义的标记。 |
IgnoredNoiseWords |
SharePoint Server 搜索 |
原始查询中忽略的干扰词的列表(如果原始查询包含干扰词)。 |
QueryTerms |
SharePoint Server 搜索 |
原始搜索查询中的字词。 对于 SharePoint Server 搜索,查询词用分号(";")分隔。对于 FAST Search Server 2010 for SharePoint,返回原始查询文本。 |
ElapsedTime |
SharePoint Server 搜索 |
执行搜索查询所花费的时间(以毫秒为单位)。 |
Definition |
SharePoint Server 搜索 |
Keyword 扩展属性中指定的字词的定义。 |
SpellingSuggestion |
SharePoint Server 搜索 |
搜索查询的拼写建议。 |
根据 QueryEx 请求中指定的选项和搜索提供程序,返回的数据集可最多包含五个数据表,如表 2 中所述。
表 2. QueryEx 的返回数据集中包含的表
数据表名称 |
适用范围 |
说明 |
---|---|---|
RelevantResults |
SharePoint Server 搜索 |
包含与查询匹配的内容索引中的搜索结果的主结果集。在此表中,每个搜索结果对应一个行,每个请求的托管属性对应一个列。 |
HighConfidenceResults |
SharePoint Server 搜索 |
包含定义为搜索查询的高度可信结果的结果集。 |
SpecialTermResults |
SharePoint Server 搜索 |
包含与搜索查询匹配的最佳匹配的集合。在此表中,每个搜索结果对应一个行。表中的列如下所示:
|
RefinementResults |
FAST Search Server 2010 for SharePoint |
与搜索查询匹配的结果的查询优化信息。在此表中,每个优化格对应一个行,并且此表还包含 RefinerName、RefinementName、RefinementValue、RefinementCount 和 RefinementToken 列。 有关详细信息,请参阅ff394639(v=office.14).md。 |
VisualBestBetsResults |
FAST Search Server 2010 for SharePoint |
与搜索查询匹配的可视化最佳匹配。在此表中,每个可视化最佳匹配对应一个行,并且此表还包含 Name、Uri、Description、Keyword、Teaser 和 TeaserContentType 列。这些列包含可视化最佳匹配的名称、可视化最佳匹配链接到的 URL、可视化最佳匹配的用户可读说明、要显示的短的前导部分以及前导部分的内容类型。 |