FAST Search 查询集成概述

Microsoft SharePoint Server 2010 中的两个企业级搜索选项 Microsoft FAST Search Server 2010 for SharePoint 和 Microsoft SharePoint Server 2010 搜索设计为共享一个通用平台,从而使搜索解决方案开发人员使用相同的查询端接口。

上次修改时间: 2015年3月9日

开发人员可以利用相同的对象模型、服务和通用查询语言,而不必学习新的 API 或编程模型。

本文内容
快速搜索扩展
使用查询 Web Services
使用查询对象模型
支持的查询语言
使用搜索范围限制搜索结果

本主题介绍仅当查询 FAST Search Server 2010 for SharePoint 时才适用的功能和注意事项,如下所示:

有关 SharePoint Server 2010 查询集成框架的一般概述,请参阅企业级搜索查询体系结构

适用范围: SharePoint Server 2010

快速搜索扩展

FAST Search Server 2010 for SharePoint 包含很多可通过对象模型和查询 Web Services 获得的扩展,如下所示:

搜索驱动解决方案和应用程序的开发人员可以利用 FAST Search Server 2010 for SharePoint 和 SharePoint Server 搜索的通用平台和常见 API。这意味着您可以将应用程序构建为支持这两个搜索引擎。如果您需要利用 FAST Search Server 2010 for SharePoint 提供的更高级功能(如动态排名、排序公式或完整结果集的深入精简),则可以扩展这些应用程序。

使用查询 Web Services

您可按使用查询 Web Services中指定的方式访问查询 Web Services。可以通过以下两种方法访问查询 Web Services:

  • QueryEx 方法为指定的查询在 DataSet 对象中返回一组结果。这是为 FAST Search Server 2010 for SharePoint 建议的查询方法,允许使用所有查询功能。

  • Query 方法返回一个包含指定查询的搜索结果集的 XML 字符串。这是还支持 FAST Search Server 2010 for SharePoint 的基本查询的旧方法。若要访问 FAST Search Server 2010 for SharePoint 的高级功能,您应改用 QueryEx 方法。

表 1 提供最重要的查询 Web Services 架构元素的列表,以及每个元素用于 FAST Search Server 2010 for SharePoint 和 SharePoint Server 搜索的不同行为。

备注

当您将 FASTSearch 指定为 Microsoft.Search.Query 架构中的 ResultProvider 元素 中的结果提供程序时,表 1 中的信息适用。对于人员搜索查询,将 SharePointSearch 指定为结果提供程序,即使您将 FAST Search Server 2010 for SharePoint 用作 SharePoint Server 2010 企业级搜索选项。查询搜索服务应用程序 (SSA) 处理人员搜索查询,并与 SharePoint Server 搜索支持相同的查询选项。

表 1. FAST Search Server 2010 for SharePoint 和 SharePoint Server 搜索具有不同行为的查询 Web Services 架构元素

架构元素

说明

QueryText

对于 FAST Search Server 2010 for SharePoint,您可以指定一个附加查询类型 FQL。

SortByProperties

对于 FAST Search Server 2010 for SharePoint,您可以指定其他排序和排名选项。有关详细信息,请参阅排名和排序 (FAST Search Server 2010 for SharePoint)

RelevanceModel

此元素不在 FAST Search Server 2010 for SharePoint 的上下文中使用。而是将排名配置文件指定为 SortByProperties 元素的一部分。您还可以影响查询中的排名计算。

有关详细信息,请参阅排名和排序 (FAST Search Server 2010 for SharePoint)

TrimDuplicates

对于 FAST Search Server 2010 for SharePoint,您可以指定用于删除重复的其他选项。有关详细信息,请参阅重复删除 (FAST Search Server 2010 for SharePoint)

IgnoreAllNoiseQuery

此元素不适用于 FAST Search Server 2010 for SharePoint,将被忽略。

IncludeHighConfidenceResults

此元素不适用于 FAST Search Server 2010 for SharePoint,将被忽略。

HighlightQuerySuggestions

此元素不适用于 FAST Search Server 2010 for SharePoint,将被忽略。

CapitalizeFirstLetters

此元素不适用于 FAST Search Server 2010 for SharePoint,将被忽略。

EnableSpellcheck

对于 FAST Search Server 2010 for SharePoint,您可以指定如何处理有关查询的拼写更正和建议。有关详细信息,请参阅语言查询功能 (FAST Search Server 2010 for SharePoint)

ResubmitFlags

对于 FAST Search Server 2010 for SharePoint,您可以指定如何处理结果为零的查询。通过使用此元素,您可以指定自动重新提交启用其他查询功能的查询。

UserContext

对于 FAST Search Server 2010 for SharePoint,您可以指定与搜索设置(最佳匹配、可视化最佳匹配和关键字增强)关联的用户上下文数据。有关详细信息,请参阅关键字管理 (FAST Search Server 2010 for SharePoint)

FindSimilar

对于 FAST Search Server 2010 for SharePoint,您可以搜索与已检索到的结果类似的结果。有关详细信息,请参阅查找相似 (FAST Search Server 2010 for SharePoint)

IncludeRefinementResults

对于 FAST Search Server 2010 for SharePoint,您可以控制如何在查询结果中返回查询优化信息。有关详细信息,请参阅查询优化 (FAST Search Server 2010 for SharePoint)

RefinementFilters

对于 FAST Search Server 2010 for SharePoint,您可以通过在前一个查询返回的数据中添加 RefinementToken 字符串,请求特定的查询优化聚合。有关详细信息,请参阅查询优化 (FAST Search Server 2010 for SharePoint)

使用查询对象模型

您可按企业级搜索查询体系结构中指定的方式访问对象模型。

在使用查询对象模型时,可通过使用 KeywordQuery 类的 QueryText 属性来指定查询字符串。默认查询类型是关键字查询语法。您设置 EnableFQL 属性以便使 FAST 查询语言 (FQL) 作为查询语言。

支持的查询语言

FAST Search Server 2010 for SharePoint 支持 Microsoft SharePoint Server 2010 中的关键字查询语法,但不支持 FullTextSQL 查询语法。您还可以使用 FQL 来定义更复杂的查询。

关键字语法查询语言

关键字查询语法是 FAST Search Server 2010 for SharePoint 和 SharePoint Server 搜索常用的查询语言。

建议您使用关键字查询语法作为用户添加到搜索框中的查询文本的容器。

您可以在所有的托管属性上使用属性筛选器。不过,通过使用搜索范围功能指定应用于多个查询的属性筛选器,也许更方便。

如果您正在创建旨在与 FAST Search Server 2010 for SharePoint 和 SharePoint Server 搜索一起使用的应用程序,您应使用关键字查询语法。

FAST 查询语言 (FQL)

FQL 是一种旨在以编程方式创建查询的查询语言。它是一种结构化语言,不会向最终用户公开。FQL 只能用于为 FAST Search Server 2010 for SharePoint 开发的解决方案。

某些 FAST Search Server 2010 for SharePoint 功能只能通过此查询语言公开,例如:

  • 通过使用 RANK 运算符或 XRANK 运算符、查询词加权以及打开或关闭部分查询排名,在查询时详细控制排名。

  • 高级邻近运算符(有序或无序的 NEAR 运算符)。

  • 复杂的查询运算符组合,如嵌套布尔运算符

有关详细信息,请参阅FAST 查询语言 (FQL) 语法参考

重要注释重要说明

当使用 FQL 作为查询语言,您就不能使用 FAST Search Server 2010 for SharePoint 关键字管理功能(升级或降低)。如果您仅在搜索范围定义中使用 FQL,则此限制不适用。

仅当通过查询对象模型和查询 XML Web Services 集成时,才可使用 FQL。它不在 SharePoint 搜索 Web 部件中公开。

FQL 对所有日期和时间表达式使用 UTC 语法。这与关键字查询语法不同,在关键字查询语法中,日期和时间表达式相对于用户的时区(由区域设置指定)。

如何处理用户查询

用户查询是由用户在单个查询框中键入的查询词的序列。在大多数情况下,用户键入一个或多个单词。但是,用户查询也可能包括特殊字符,如加号 ("+") 和减号 ("-")。

用户查询通常被视为由查询客户端以透明方式传递的字符串。

可以在查询客户端接口上通过以下两种主要方式传递用户查询:

  • 作为关键字查询语法查询字符串传递用户查询。

    通过此选项,高级用户可以使用关键字查询语法公开的一套基本查询控件来表达更具体的查询。

    可将搜索应用程序添加的属性筛选器追加到查询字符串,或追加为查询字符串中的搜索范围表达式 (scope:scopename)。

    此选项允许您将查询应用程序与 FAST Search Server 2010 for SharePoint 和 SharePoint Server 搜索一起使用。通过使用搜索范围选项(对搜索应用程序可以是透明的),您仍可使用某些高级 FAST Search Server 2010 for SharePoint 查询功能。

  • 作为 FQL 查询表达式中的 FQL 简单查询语言字符串传递用户查询。您可将最终用户查询字符串封装在 FQL 中,也可在 FQL 查询表达式中添加任何其他属性筛选器或其他查询约束。

    重要注释重要说明

    与关键字查询语法相比,FQL 简单查询语言语法支持用户使用的功能较少。

使用搜索范围限制搜索结果

搜索范围是可用来限制查询的预定义的属性筛选器表达式。集成器可通过使用特殊的属性筛选器 scope:scopename,在关键字语法查询中追加一个搜索范围,其中 scope 是预定义的属性名称,而 scopename 是已定义的搜索范围的名称。

在 FAST Search Server 2010 for SharePoint 中,生成的搜索范围表示在 FQL 语法中指定的预定义的属性筛选器。您可以通过 SharePoint Server 网站管理用户界面,使用 Windows PowerShell 接口或使用 SharePoint Server 搜索管理对象模型中的 Scope 接口,来指定搜索范围。使用 Windows PowerShell 接口或 Scope 接口时,您可以根据 FQL 查询语法将搜索筛选器指定为字符串。搜索范围不会影响索引或索引架构。

备注

FAST Search Server 2010 for SharePoint 和 以不同的方式处理搜索范围。对于 FAST Search Server 2010 for SharePoint,范围纯粹是查询时功能。

范围筛选器可以包含任何 FQL 语法,并且等于用 FQL FILTER 运算符括起来的 FQL 表达式。

如果希望仅在搜索范围筛选器中指定非默认的全文本索引,您可以使用特殊的范围筛选器语法,如下所示。

FullTextIndex=<name of full-text index>
重要注释重要说明

只有在定义搜索范围筛选器时,您才可以使用特殊的全文本索引范围筛选器语法。它不是有效的 FQL 语法。

请参阅

概念

查询优化 (FAST Search Server 2010 for SharePoint)

排名和排序 (FAST Search Server 2010 for SharePoint)

语言查询功能 (FAST Search Server 2010 for SharePoint)

托管属性和数据类型 (FAST Search Server 2010 for SharePoint)

关键字管理 (FAST Search Server 2010 for SharePoint)

查找相似 (FAST Search Server 2010 for SharePoint)

重复删除 (FAST Search Server 2010 for SharePoint)

演练:从客户端应用程序查询 FAST Search Server