SharePoint 搜索中适用于开发人员的新增内容

了解 SharePoint Search 中开发人员可用的新功能。

适用于访问可实现在线、本地和移动开发的 Query 对象模型功能的 Search 客户端对象模型

SharePoint Search 包括可访问大多数实现在线、本地和移动开发的客户端对象模型 (CSOM)。 您可以使用 Search CSOM 来创建在未安装有 SharePoint 来返回 SharePoint 搜索结果的计算机上运行的客户端应用程序。

Search CSOM 包括 Microsoft .NET Framework 托管客户端对象模型和 JavaScript 对象模型,并且其内置于 SharePoint。 首先,客户端代码访问 SharePoint CSOM。 然后,再访问 Search CSOM。

若要使用搜索.NET Framework托管 CSOM,必须获取位于 Microsoft.SharePoint.Client.dll) Microsoft.SharePoint.Client 命名空间中的 ClientContext 实例 (。 然后,再使用位于 Microsoft.Office.Server.Search.Client.dll 的 Microsoft.SharePoint.Client.Search.Query 命名空间中的对象模型。 有关 SharePoint CSOM 的详细信息,请参阅 托管客户端对象模型。 有关 ClientContext 对象(CSOM 的入口点)的详细信息,请参阅 作为中心对象的客户端上下文

Search CSOM 以 JavaScript 对象表示法 (JSON) 形式从服务器返回搜索结果。 搜索结果数据的 JSON 包含由代表不同结果集的 ResultTable 对象组成的 ResultTableCollection 集合。

SQL Syntax Support 已删除

SharePoint 中的自定义搜索解决方案不支持 SQL 语法。 SharePoint 中的搜索功能支持对自定义搜索解决方案使用 FQL 语法和 KQL 语法。 不能在使用任何技术(包括查询服务器对象模型、客户端对象模型和搜索 REST 服务)的自定义搜索解决方案中使用 SQL 语法。 如果在旧版 SharePoint Server 中创建的自定义搜索解决方案将 SQL 语法与查询服务器对象模型和查询 Web 服务结合使用,那么在升级到 SharePoint 后将无法正常运行。 通过这些应用程序提交的查询将返回错误。 有关使用 FQL 语法和 KQL 语法的详细信息,请参阅 关键字查询语言 (KQL) 语法参考FAST 查询语言 (FQL.md) 语法参考

适用于通过客户端应用远程执行查询的搜索 REST 服务

SharePoint 包含表述性状态转移 (REST) 服务。这样,可以使用任何支持 REST Web 请求的技术,通过客户端应用对 SharePoint 搜索服务远程执行查询。 搜索 REST 服务提供两个终结点(查询建议),并支持 GETPOST 操作。 结果以 XML 或 JSON 格式返回。

以下是服务的访问点: http://server/_api/search/。 还可以在 URL 中指定站点,如下所示: http://server/site/_api/search/。 搜索服务从整个网站集返回结果,因此,通过这两种方法访问服务都将返回相同的结果。

还可以使用引用 client.svc 的 URL 访问服务,如下所示: http://server/_vti_bin/client.svc/search/。 但是,首选约定是使用 _api

通过以下访问点访问服务元数据:

http://server/_api/$metadata

有关 SharePoint 中 REST 服务的一般信息,请参阅 在 SharePoint REST 请求中使用 OData 查询操作

SharePoint Search Query Web 服务已被弃用

SharePoint 中已弃用位于路径 http://server/site/_vti_bin/search.asmx) 的查询 Web 服务 (。 编写新应用程序时,请避免使用此弃用功能,改为使用新的 Query CSOM 或 Query REST 服务。 修改现有应用程序时,强烈建议您删除此功能的所有依赖项。

SharePoint Search Query 对象模型增强

Query 属性提供有关搜索查询的信息。 在 SharePoint Search 中,属性包已被添加到查询和结果类中,以支持用户定义的查询属性。 您可以通过其中一个查询类的属性访问现有查询属性,方法如下:

KeywordQuery.EnableStemming

或者,您可以使用属性包,如下所示:

KeywordQuery.Properties["EnableStemming"]

您只能通过使用属性包访问用户定义的属性,如下所示:

KeywordQuery.Properties["UserDefinedProperty"]

SharePoint Search 的属性包中包含查询属性,其中包括新的查询属性,如:

  • BypassResultTypes 指定是否返回查询结果的搜索结果项类型。 如不返回结果类型,则指定 true;否则,指定 false

  • EnableInterleaving 指定由执行查询规则操作以添加结果块生成的结果集是否混合原始查询的结果集。 如要使生成的结果集混合原始结果集,则指定 true;否则,指定 false

  • EnableQueryRules 指定是否对此查询启用查询规则。 如要对查询启用查询规则,则指定 true;否则,指定 false

您可以在属性包中指定任何属性,其中包括用户定义的属性,如查询规则条件。 您可以使用查询规则来自定义某些对用户至关重要的查询的搜索条件。 如果查询满足查询规则中指定的条件,则规则指定用以提高关联搜索结果相关性的操作。

Keyword 查询语言增强

SharePoint 包括 Keyword 查询语言的增强,相关增强将在本节中说明。

改进的 NEAR 运算符

在 SharePoint Server 2010 中, NEAR 运算符隐含最大标记距离 8 并保留了输入标记的排序。 在 SharePoint 中, NEAR 运算符不再保留标记的排序。 此外, NEAR 运算符现在接收了一个指示最大标记距离的可选参数。 不过,默认值仍为 8。 如果您必须使用以前的行为,则改为使用 ONEAR

NEAR 运算符可在属性限制表达式中使用,如下面的示例所示:

"acquisition" NEAR "debt"

此查询与同一文档中出现"acquisition"和"debt"标记的项匹配,最大标记距离为 8 (如果未提供值,则其为 n 的默认值)。 标记的顺序对该匹配不重要。

如果你需要更小的标记距离,则可以按如下所示指定:

"acquisition" NEAR(n=3) "debt"

此查询与同一文档中出现"acquisition"和"debt"两个标记的项匹配,最大标记距离为 3 。 标记的顺序对该匹配不重要。

新的 ONEAR 运算符

ONEAR 运算符提供有序接近功能。 它接收一个指示最大标记距离的可选参数;默认值为 8

ONEAR 运算符保留输入表达式的顺序。 对于无序接近,请使用 NEAR

您可以在属性显示表达式中使用 ONEAR 运算符,如下面的示例所示:

"acquisition" ONEAR "debt"

此查询与同一文档中出现"acquisition"和"debt"两个标记的项匹配,最大标记距离为 8 (如果未提供值,则其为 n 的默认值)。 标记的顺序必须与要返回的项的顺序匹配。

如果您需要更小的标记距离,则可以按如下所示指定:

"acquisition" ONEAR(n=3) "debt"

此查询与同一文档中出现"acquisition"和"debt"两个标记的项匹配,最大标记距离为 3 。 标记的顺序必须与要返回的项的顺序匹配。

新的 XRANK 运算符

在 SharePoint Server 2010 中, XRANK 运算符仅适用于 FAST Query Language (FQL)。 SharePoint 引入了功能强大的新 XRANK 运算符。

XRANK 运算符可对排序进行动态控制。 此运算符基于某些条款的发生增强项的动态排序,且不更改与查询匹配的项。

适用于定制搜索结果 UI 的丰富结果框架

SharePoint Search 包括新的结果框架,可以更轻松地定制搜索结果用户界面 (UI) 的外观(外观和感受)。 现在,改为写入自定义 XSLT 即可更改搜索结果的显示方式,您可以通过使用显示模板和结果类型来定制重要结果类型的外观。

显示模板

显示模板通过使用 HTML、CSS 和 JavaScript 来定义结果类型的可视化布局和行为。 您可以通过使用 HTML 编辑器来定制现有显示模板或创建显示模板,并将其上载到显示模板库。

结果类型

结果类型定义如何基于以下内容的集显示一组搜索结果:

  • Rules 确定应用结果类型的时间(基于指定条件)。 规则条件可与等号、比较和逻辑运算符结合使用。

  • Properties 确定结果的托管属性列表。 您必须先将托管属性添加到列表然后才能将托管属性映射到显示模板。

  • Display templates 定义结果类型的可视化布局。

管理员可以在网站或服务应用程序级别创建和管理结果类型;而不需要自定义代码。

连接器框架增强

使用 SharePoint Search,您可以检索可通过使用连接器框架对其进行爬网的自定义外部数据源中存储的内容的声明信息。

连接器框架还提供改进的异常捕获和日志记录功能,以帮助您解决使用内置于连接器框架顶部的自定义连接器对内容源进行爬网时遇到的错误。 有关连接器框架的信息,请参阅 SharePoint 中的搜索连接器框架

另请参阅