SharePoint Server 中的搜索结果排名概述

 

**上一次修改主题:**2017-07-24

**摘要:**了解 SharePoint Server 2016 和 SharePoint Server 2013 如何使用排名模型来计算搜索结果的相关性排名,以及如何使用查询规则、搜索架构和排名模型来影响搜索结果的顺序。

搜索引擎计算相关性排名,也就是查询的搜索结果显示的顺序。排名模型是这个计算的核心。在大多数情况下,您可以将可用 SharePoint Server 排名模型和查询规则结合使用,从而影响相关性,而无需考虑自定义任何排名模型。

本文内容:

  • 什么是排名模型?

  • 搜索结果如何获得排名?

  • 我如何能影响一个搜索结果的排名?

  • 使用查询规则影响搜索结果的排名

  • 使用搜索架构影响搜索结果的排名

  • 使用自定义排名模型影响搜索结果的排名

什么是排名模型?

SharePoint Server 中有一些针对特定情况进行了优化的排名模型。这些排名模型提供了一种有效的结果排名方式,无需进行任何自定义。排名模型包含一组排名功能,用来计算搜索结果中特定项目(例如文档)的排名分数。排名后的内容类型决定排名模型使用的排名功能集以及这些不同排名功能的相对重要性。

对于默认的垂直搜索全部视频对话人员,搜索系统会自动使用最合适的排名模型。如果您创建了自己的垂直搜索,就可以配置对该纵向使用哪个排名模型。

SharePoint Server 提供以下排名模型类型:

  • 通用排名模型。

    通用排名模型对大多数搜索结果类型计算相关性排名。

  • 人员搜索排名模型。

    人员搜索排名模型对与人员相关的搜索结果计算相关性排名。除其他项外,它们会根据社会距离和专业技能计算搜索结果的相关程度。

  • 特殊用途排名模型。

    特殊用途排名模型对与不同特定排名方案相关的搜索结果计算相关性排名。例如,有一个排名模型用于为建议计算排名分数,还有一些排名模型用于为具有相关产品目录的跨网站发布网站计算相关性排名。

下表列出了 SharePoint Server 中可用的排名模型。

排名模型类型 排名模型名称 说明

通用

默认搜索模型

适用于 Search Service 应用程序的默认排名模型。这个排名模型对大部分搜索结果进行排名,如针对结果源“本地 SharePoint 结果”的查询的搜索结果。这个模型可用于全部视频对话垂直搜索。

通用

含有两个线性阶段的搜索排名模型

此排名模型是默认搜索模型的一个副本,不同之处在于阶段二是一个线性阶段,而非神经网络阶段。如果您想创建自定义排名模型,那么建议您使用此模型的副本作为基础模型。

通用

O15 MainResultsDefaultRankingModel

在 2013 年 8 月 SharePoint Server 2013 累积更新之前用作 Search Service 应用程序默认排名模型的排名模型。该累积更新对默认搜索模型进行了一些改进。加入这个排名模型是为了实现向后兼容性。

通用

O14 默认搜索模型

在 SharePoint Server 2010 和 Search Server 2010 中用作 Search Service 应用程序默认排名模型的排名模型。加入这个排名模型是为了实现向后兼容性。

通用

含提升 Minspan 的搜索模型

邻近感应功能权重高于默认搜索模型的排名模型。该排名模型中的邻近感应功能会查看每个查询词,并决定项目中这些查询词之间的靠近程度。邻近感应仅在托管属性主体标题中考虑使用。

通用

不含 Minspan 的搜索模型

不含邻近感应功能的默认搜索模型。

人员搜索

人员搜索应用程序排名模型

人员搜索的默认排名模型。此排名模型对人员搜索结果进行排名。人员搜索基于 User Profile Service 应用程序中保存的My Sites中的用户个人资料信息。

人员搜索

人员搜索专业技能排名模型

专业技能权重较高的人员搜索排名模型。专业技能的计算基于人员距离组织中顶层职位的级别数量。

人员搜索

人员搜索专业技能社会距离排名模型

基于专业技能且社会距离权重较高的人员搜索排名模型。社会距离是根据他们在组织中的职位定义的键入查询的用户与搜索结果中列出的人员之间的关系。

人员搜索

人员搜索名称排名模型

人员名称搜索的排名模型。

人员搜索

人员搜索名称社会距离排名模型

社会距离权重较高的人员名称搜索排名模型。

人员搜索

人员搜索社会距离模型

社会距离权重较高的人员搜索排名模型。

特殊用途

目录排名模型

面向 Internet 的网站的排名模型。此排名模型对使用跨网站发布的网站以及具有 SharePoint Server 网站集相关产品目录的网站进行搜索结果排名。

特殊用途

热门程度排名模型

基于热门程度的搜索的排名模型。此排名模型根据存储在 SharePoint Server 中的项目被访问的次数对 SharePoint Server 内容排名。

特殊用途

推荐者排名模型

排名推荐的排名模型。推荐基于从分析用户如何与网站上的项目或与搜索结果进行交互的项与项关系。

特殊用途

网站建议排名模型

社会建议的排名模型。其他用户点击过的项目会得到一个较高排名。

搜索结果如何获得排名?

排名模型会计算搜索结果的相关性排名。搜索结果通过称为排名评估的过程来获得排名。排名评估会形成一个排名分数。具有最高分数的项目会在搜索结果中得到最高的位置。搜索结果根据各自的排名分数进行降序排序。

例如,默认搜索模型使用两个阶段进行排名评估。在阶段一,排名模型应用非常便宜的排名功能来得到总体结果排名。在阶段二,排名模型将对具有最高排名的项目应用其他较昂贵的排名功能。在默认情况下,搜索结果页显示经过两个排名评估段之后具有最高排名分数的 10 个文档。

每个排名模型都具有几个排名功能。在总排名计算中,这些排名功能的相对权重会因排名模型而异。排名功能可依赖于查询,也可独立于查询。若要计算搜索结果的最终排名分数,就要结合排名模型中所有排名功能的计算结果。

排名模型使用搜索索引中的信息,如下表所述。

关于搜索索引项的信息 说明

内容

这些是包含在项目中的词语。对于基于文本的项目(如文档),这通常是大部分的文本。对于其他类型的项目(如视频),则含有的词语很少,或根本就不包含。

元数据

与项目(如标题、作者、URL 和创建日期)相关联的元数据。元数据可自动从大多数项目类型中提取。

Web 图形数据

这是权威性(来自权威页面设置)和锚文本(来自与该项目相关联的超链接以及链接到该项目的项目)等信息。

文件类型

在排名时,有些文件类型被视为比其他类型更加重要。例如,Word 和 PowerPoint 的结果通常比 Excel 的结果更为重要。

交互

有关搜索结果单击次数的信息,以及哪些查询会导致结果被单击的信息。

我如何能影响一个搜索结果的排名?

可以通过以下方式影响搜索结果的排名:

  • 查询规则:定义当查询匹配某种条件时要采取什么操作。

    • 将特定结果提升至搜索结果的顶部。

    • 添加一个结果块,以提升特定结果。

    • 通过更改查询更改排名。

      • 基于托管属性更改排名结果的排序。

      • 动态对特定结果进行升级或降级。

      • 当有人运行某个查询时更改排名模型。

    有关详细信息,请参阅使用查询规则影响搜索结果的排名一节。

  • 搜索架构:配置托管属性上下文。

    • 在“高级可搜索设置”中更改托管属性上下文。

    有关详细信息,请参阅使用搜索架构影响搜索结果的排名一节。

  • 创建并使用自定义排名模型。

    • 自定义现有排名模型的副本,对其进行部署并将此自定义模型用于排名搜索结果。

    有关详细信息,请参阅使用自定义排名模型影响搜索结果的排名一节。

在大多数情况下,将 SharePoint Server 中可用的排名模型与查询规则结合使用可提供足够的方法来影响排名。

使用查询规则影响搜索结果的排名

如果您对特定查询的搜索结果排名不满意,我们建议您尝试使用查询规则来影响那些查询的排名。在大多数情况下,配置查询规则有助于您达成目标,并且您不必考虑更改托管属性上下文或创建自定义排名模型。

对于每个查询规则,您可以影响排序、排名和显示搜索结果的方式。每个查询规则都包含一个查询规则条件和一个查询规则操作。当查询匹配查询规则条件时,将触发在查询规则中指定的查询规则操作。

您可以为查询规则指定以下查询规则操作:

  • 将已升级的结果添加到排名搜索结果的顶部。

    当你添加已升级的结果(在 SharePoint Server 早期版本中称为“最佳匹配”)时,会将此结果显示在排名结果的上方。例如,对于查询“病假”,可以在所有排名结果上方添加一个指向人力资源网站的链接。

  • 添加一个结果块。

    结果块显示一组搜索结果。您可以将查询规则配置为定义希望针对哪些查询在结果块中显示结果。当指定的查询条件适用时,您可以像升级特定结果一样升级结果块。

  • 通过更改查询更改排名。

    • 按托管属性排序。

      您可以通过指定按哪个托管属性对搜索结果进行排序,以及是按升序还是降序来排序,从而更改搜索结果的排序顺序。

    • 动态排序:升级或降级搜索结果。

      您可以动态地更改搜索结果的排名。您可以指定何时需要更改查询的搜索结果排名、改变多少以及何时应用某个条件。下表显示了可以设置的条件。

      在出现以下情况时更改排名: 说明

      结果包含关键字

      如果结果的任意内容(包括元数据)中包含关键字,则匹配。

      标题包含关键字

      如果结果标题包含指定关键词或短语,则匹配。

      标题匹配关键字

      如果结果标题与指定关键词或短语完全匹配,则匹配。

      URL 的开头

      如果结果 URL 以指定 URL 开头,则匹配。

      URL 完全匹配

      如果结果 URL 与指定 URL 完全匹配,则匹配。

      内容类型是

      如果结果为您指定的内容类型,则匹配。

      文件扩展名匹配

      如果结果具有指定文件扩展名,则匹配。

      结果有标签

      如果结果具有作为其元数据一部分的指定分类标签,则匹配。

      手动条件

      使用标准查询语法添加限制。

    • 更改排名模型。

      在触发查询规则期间,您可以更改要使用哪个排名模型。

有关详细信息,请参阅在 SharePoint Server 中规划查询转换和结果排序在 SharePoint Server 中管理查询规则

使用搜索架构影响搜索结果的排名

您可以通过更改全文索引中可搜索托管属性的上下文来影响搜索结果的排名。但是,在默认情况下,大多数托管属性已映射到合适的上下文和全文索引。我们建议您不要更改现有可搜索的托管属性的上下文。然而,如果您创建了一个新的托管属性,并希望排名模型考虑使用此属性,就必须将它映射到全文索引上下文。

SharePoint Server 中有几个全文索引。每个全文索引都有一些存储在全文索引中的托管属性。在本节中,我们仅结合默认搜索排名模型来讨论默认全文索引和少数几个默认全文索引上下文。

全文索引包含来自存储在全文索引中的可搜索托管属性的所有文本。每个全文索引都被分为若干个权重组(也称为上下文)。不同上下文与托管属性的不同相对重要性(用于计算总相关性排名的排名功能之一)相关。上下文的编号(或 ID)并不重要;排名模型通过向特定上下文分配贡献权重来决定其相对重要性。贡献权重越高,则排名分数越高。

在默认情况下,新的托管属性会映射到上下文 0,这意味着它们在搜索结果中返回,但不会有任何排名模型会考虑使用它们。如果您希望默认排名模型考虑新的托管属性,就需要将该托管属性映射到默认全文索引以及如下表所示的上下文之一。默认全文索引中还有更多上下文,但您应该只用下表中提到的上下文。每个排名模型都会以不同方式考虑上下文;表格中只显示默认搜索模型如何在默认全文索引中考虑上下文。

上下文 在此上下文中的托管属性示例 排名的相对贡献权重(默认搜索模型和默认全文索引)

0

-

仅用于检索,而不用于排名。

1

Title

0.3610

2

Filename

0.1512

5

Author

0.1581

7

Body

0.0194

例如,您新建了一个类型为 String 的托管属性,其中包含 10 个或 10 个以内单词。您将这个新托管属性的重要性视为与现有托管属性 Title 相同。在这种情况下,您必须将这个新托管属性映射到上下文 1。

再举一个例子。您创建了一个类型为 String 的托管属性,其中包含多个单词,如对某事物的描述。您应该将这个新托管属性映射到上下文 7,因为它在长度和重要性上都与托管属性 Body 类似。

重要

将具有相似重要性和大小(以字数计)的托管属性映射到同一上下文。

更改托管属性上下文之后,监视搜索结果很重要,因为更改可能无法得到预期的结果。一段时间过后,更改才会出现在搜索结果中,这是因为抓取搜索架构更改之前需要重新索引内容。如果已爬网的一个或多个内容源的内容中包含已更改其上下文的托管属性,那么您就必须对那些内容源重新执行完全爬网,然后才能够看到排名变化。

您可以使用 Search Service 应用程序中的搜索架构功能在高级可搜索设置中更改可搜索托管属性上下文。有关详细信息,请参阅 SharePoint Server 中的搜索架构概述在 SharePoint Server 中管理搜索架构

使用自定义排名模型影响搜索结果的排名

最高级的搜索结果排名更改方法是创建一个自定义排名模型。在大多数情况下,SharePoint Server 提供的排名模型都可以提供良好的排名,您可以使用使用查询规则影响搜索结果的排名中介绍的查询规则来影响排名

何时需要创建并使用自定义排名模型的示例:

  • 您已经创建了一个搜索体验,其中的查询性能尤为重要,而您想加快排名模型的‘计算速度。

  • 您已经构建了一个自定义应用程序,并想创建一个特定于该应用程序的排名模型。

  • 您已经为一个特殊搜索体验添加了特殊托管属性,并想将此托管属性包含在排名计算中。

警告

如果您创建了一个自定义排名模型,则使用此排名模型会影响所有的查询。您应该在多个查询上测试该自定义排名模型的效果。

可以参阅 MSDN 上的在 SharePoint 2013 中自定义排名模型以提高相关性一文,详细了解如何创建、部署和使用自定义排名模型。

备注

如果要为默认搜索结果创建自定义排名模型,则将含有两个线性阶段的搜索排名模型的副本作为自定义排名模型的基础模型,这样更易重新调整和自定义排名模型。

See also

在 SharePoint Server 中规划查询转换和结果排序
SharePoint Server 中的搜索架构概述

使用排名模型优化应用创建自定义排名模型