在 SharePoint Server 中管理查询规则
**上一次修改主题:**2018-03-07
**摘要:**了解如何通过创建和管理查询规则改进搜索结果。
无需使用任何自定义代码,Search Service 应用程序管理员、网站集管理员和网站所有者即可通过创建查询规则帮助搜索响应用户的意图。在查询规则中,指定条件和相关操作。当查询满足查询规则中的条件时,搜索系统将执行规则中指定的操作(如缩小结果范围或更改结果显示的顺序),从而改进搜索结果的相关性。例如,查询规则条件可能是查询中的某个术语与 SharePoint Server 术语集中的某个特定术语相匹配,也可能是对搜索系统中的某个特定结果源(如视频)经常执行某个查询。当满足了查询规则条件时,相关操作可能是在搜索结果的顶部显示某个特定项目。
可以为一个或多个结果源配置查询规则,且可以指定查询规则处于活动状态的时间段。
本文内容:
在 SharePoint 场中的不同级别创建查询规则
创建查询规则
创建并显示结果块
更改排名搜索结果
将查询规则设为非活动状态
对查询规则排名
在 SharePoint Server 场中的不同级别创建查询规则
您可以为 Search Service 应用程序、网站集或网站创建查询规则。下表显示了在各种情况下创建查询规则所需的权限以及可使用查询规则的位置。
查询规则的级别和权限
创建查询规则的级别 | 必须具有的权限 | 可使用查询规则的位置 |
---|---|---|
Search Service 应用程序 |
Search Service 应用程序管理员 |
Web 应用程序中使用 Search Service 应用程序的所有网站集 |
网站集 |
网站集管理员 |
网站集中的所有网站 |
网站 |
网站所有者 |
网站 |
若要添加或编辑查询规则,必须转到“管理查询规则”页。请使用以下过程之一转到“管理查询规则”页,具体取决于您创建查询规则的级别。
转到 Search Service 应用程序的“管理查询规则”页
确认执行此过程的用户帐户是 Search Service 应用程序的管理员。
在管理中心的“应用程序管理”部分,单击“管理服务应用程序”。
单击要向其添加查询规则的 Search Service 应用程序。
在 Search Service 应用程序的“搜索管理”页的“快速启动”中的“查询和结果”部分,单击“查询规则”。
转到网站集的“管理查询规则”页
确认执行此过程的用户帐户是网站集管理员。
在网站集的“设置”菜单上,单击“网站设置”。
在“网站设置”页的“网站集管理”部分,单击“搜索查询规则”。
转到网站的“管理查询规则”页
确认执行此过程的用户帐户是网站的 Owners 组的成员。
在网站的“设置”菜单中,单击“网站设置”。
在“网站设置”页的“网站管理”部分,单击“查询规则”。
创建查询规则
创建查询规则
在“管理查询规则”页的“选择结果源”菜单中,选择新查询规则的结果源。
单击“新建查询规则”。
在“添加查询规则”页的“常规信息”部分的“规则名称”字段中,键入查询规则的名称。
单击以展开“上下文”部分。
在“上下文”部分,选择下列选项之一:
若要将查询规则应用于所有结果源,请选择“所有源”。
若要将查询规则应用于一个或多个特定结果源,请选择“这些源之一”。默认情况下,将选择您在步骤 1 中指定的结果源。若要为查询规则添加结果源,请执行以下操作:
单击“添加源”。在“添加源”对话框中,选择一个结果源,然后单击“保存”。
若要将查询规则限制为一些类别(例如,只有在查询中包含托管导航术语集中的某个术语时才应触发的查询规则),请单击“显示其他条件”,然后指定以下内容:
若要将查询规则限制为某个类别,请单击“添加类别”。在“从分类导入”对话框中,选择包含在查询中时会导致查询规则触发的术语,然后单击“保存”。
若要将查询规则限制为用户区段,请执行以下操作:
单击“添加用户区段”。
在“添加用户区段”对话框的“标题”字段中,键入此规则的标题。
在“从分类导入”对话框中,选择一个术语,该术语表示出现在查询中时会导致查询规则触发的用户区段。
单击“保存”。
在“查询条件”部分,执行以下操作之一:
选择下表中列出的条件之一。
单击“删除条件”以将此查询规则配置为对用户在创建此规则的级别上键入的每个查询触发,然后转到步骤 8。
例如,如果您要为某个网站集创建此规则,且希望此规则对用户在该网站集的任何搜索框中键入的每个查询触发,则单击“删除条件”。
查询条件 说明 配置 示例 查询完全匹配关键字
如果希望查询规则在查询与您指定的词或短语完全匹配时触发,则选择此选项。
在“查询中包含这些短语之一”文本框中,键入一个或多个短语(用逗号分隔)。
在“查询中包含这些短语之一”框中键入“picture; pic”。查询规则将在用户在搜索框中键入“picture”或“pic”时触发。该规则不会在用户键入“pictures”或“sunny picture”时触发。
查询包含操作术语
如果希望查询规则在查询包含指示用户要执行的操作的术语时触发,则选择此选项。该术语必须位于查询的开头或末尾。
通过执行以下操作之一指定将导致查询规则触发的操作术语:
选择“操作术语是这些短语之一”,然后键入一个或多个短语。
选择“操作术语是此词典中的条目”,然后单击“从分类导入”。在“从分类导入”对话框中,选择术语集中的一个术语,然后单击“保存”。
您在“操作术语是以下短语之一”文本框中键入了词“download”。当用户在搜索框中键入“download Contoso Electronics datasheet”时,其可能不是要搜索包含词“download”、“Contoso”、“Electronics”和“datasheet”的文档,而可能是要尝试下载 Contoso Electronics 数据表。当用户在搜索框中键入“download Contoso Electronics datasheet”时,查询规则会触发,只有词“Contoso”、“Electronics”和“datasheet”会传递到搜索索引。
查询完全匹配词典
如果希望查询规则在查询与词典条目完全匹配时触发,则选择此选项。
在“查询包含此词典中的条目”菜单中,选择一个词典。若要指定其他词典,请单击“从分类导入”,然后在“从分类导入”对话框中选择术语集中的一个术语,再单击“保存”。
用户在搜索框中键入的词与预配置的人名词典中的条目匹配。
查询在源中更常见
如果希望查询规则在用户经常在您指定的其他结果源上发出查询时触发,则选择此选项。
在“更可能在此源中使用查询”菜单中,选择结果源。
在“更可能在此源中使用查询”菜单中,选择“本地视频结果”。如果用户在搜索框中键入单词“training”,而这个单词在“视频”类别的搜索框中曾被频繁地键入过,则将触发查询规则。
通常单击的结果类型
如果您希望在其他用户键入相同的查询后频繁地单击特定结果类型时触发查询规则,则请选中此选项。
在“通常单击的结果匹配结果类型”菜单中,选择结果类型。
在“通常单击的结果匹配结果类型”框中,您选择了“SharePoint 微博帖子”。如果用户频繁单击搜索结果中的某篇微博帖子,则您可能希望在“操作”部分将最新的微博帖子配置为第一个升级的结果,并将次新的微博帖子配置为第二个升级的结果。
高级查询文本匹配
如果您要使用将导致触发查询规则的正则表达式、短语或词典条目,则请选中此选项。
若要匹配特定格式的所有电话号码,请在“查询匹配此正则表达式”框中指定正则表达式。
若要匹配所有 nnn-nnn-nnnn 格式的电话号码,请指定正则表达式“\(?(\d{3})\)?-?(\d{3})-(\d{4})”。
若要添加条件,请单击“添加备用条件”。
备注
此规则将在满足任一条件时触发。
在“操作”部分,指定要在查询规则触发时执行的操作。请指定以下任一操作:
若要升级单个结果以使其显示在搜索结果的顶部,请单击“添加已升级的结果”(在 SharePoint 2010 产品中,这称为“最佳匹配”)。在“添加已升级的结果”对话框的“标题”字段中,键入要为此已升级的结果指定的名称。在“URL”字段中,键入应升级的结果的 URL。将此 URL 呈现为横幅而不是超链接。单击“保存”。
您可添加若干单个的已升级结果。如果存在多个已升级的结果,则可指定相对排名。
若要升级一组搜索结果,请单击“添加结果块”。有关详细信息,请参阅本文后面的创建并显示结果块。
若要更改排名搜索结果,请单击“通过更改查询更改排名结果”。有关详细信息,请参阅本文后面的更改排名搜索结果。
若要在特定时间段内激活查询规则,请单击“发布”,然后指定时间段。
创建并显示结果块
结果块是作为一个组显示的若干个搜索结果。当指定的查询条件适用时,您可以像升级特定结果一样升级结果块。
为结果块配置查询条件时,您可使用查询变量。查询变量是用于表示您在指定查询时未知的值的占位符。但是,当查询运行时,此信息是已知的并且可在系统向索引发送查询时使用。示例包括 {User.Name}(表示键入查询的用户的名称)或 {searchBoxQuery}(表示用户在搜索框中键入的查询)。当您使用查询生成器配置查询时,将显示查询变量的列表。(请参阅以下过程中的第 3 步。)
创建结果块
在上一过程的第 8 步中,在“添加查询规则”页上的“操作”部分,单击“添加结果块”。
在“块标题”部分的“标题”字段中,键入结果块的名称。
在“查询”部分中,若要指定查询,请单击“启动查询生成器”。在查询生成器中,指定以下内容:
在“基本”选项卡上,选择以下列表中的选项以定义结果块的查询:
选择查询
选择结果源以指定应搜索的内容。
关键字筛选器
您可以使用关键字筛选器将查询变量添加到您的查询中。有关可用查询变量的列表,请参阅 Query variables in SharePoint Server。
您可以从下拉列表中选择预定义的查询变量,然后单击“添加关键字筛选器”将它们添加到查询中。
属性筛选器
您可以使用属性筛选器来查询在搜索架构中设置为可查询的托管属性的内容。
您可以从“属性筛选器”下拉列表中选择托管属性。单击“添加属性筛选器”以将筛选器添加到查询中。
在“排序”选项卡上,您可以指定结果块中的搜索结果的排序方式。
在“排序依据”下拉列表中:
若要按在搜索架构中设置为可排序的托管属性排序,请从列表中选择托管属性,然后选择“降序”或“升序”。若要添加更多排序级别,请单击“添加排序级别”。
备注
搜索结果排序需区分大小写。
若要按相关性级别排序,请选择“级别”,然后执行以下操作:
在“排名模型”列表中,选择要用于对搜索结果进行排序的排名模型(可选选项)。
在“动态排序”部分,若要通过添加当某些条件适用时将更改结果顺序的规则来指定附加级别,请单击“添加动态排序规则”,然后指定条件规则。
在“测试”选项卡上,您可以预览已发送的查询。
查询文本
显示内容搜索 Web 部件将运行的最终查询。它基于用当前值替换动态变量的原始查询模板。对查询的其他更改可能需要作为查询规则的一部分进行更改。
单击“显示更多”以显示更多信息。
查询模板
显示应用于查询的查询模板的内容。
查询模板变量
显示将应用于查询的查询变量以及应用于当前页的变量的值。您可以键入其他值来测试它们对查询的影响。单击“测试查询”按钮可预览搜索结果。
在“查询”部分中,在“配置查询”框的“搜索此源”下拉列表中,选择应将此结果块应用于的结果源。
在“查询”部分的“项”下拉列表中,选择要在结果块中显示的结果数量。
单击展开“设置”部分。
结果块将仅显示您在上一步中指定的搜索结果数量。但是,您可以在结果块底部添加一个“显示更多”链接来显示结果块的所有搜索结果。若要添加“显示更多”链接,请选择“‘更多’链接转至以下 URL”,然后键入一个 URL。您可以在此 URL 中使用查询变量,例如,http://www.<site>/search/results.aspx?k={subjectTerms}。
跳过“路由”部分。
单击“确定”。
更改排名搜索结果
排名模型将计算搜索结果的排序顺序。您可通过升级或降级搜索结果中的项来更改此排名。例如,对于包含“download toolbox”的查询,您可创建将单词“download”识别为一个操作术语的查询规则,并更改排名搜索结果来升级 Intranet 上的某个下载网站的 URL。您还可根据若干变量(如文件扩展名或特定关键字)动态更改搜索结果的排序顺序。通过更改查询的方式更改排名搜索结果具有安全修整和精简结果的优点。此外,如果文档不再可用,搜索结果将不再显示。
通过更改查询更改排名搜索结果
从创建查询规则过程的步骤 8 中,在“添加查询规则”页的“操作”部分,单击“通过更改查询更改排名结果”。
在“生成查询”对话框中,指定以下内容:
在“基本”选项卡上,选择以下列表中的选项以更改排名搜索结果:
选择查询
选择结果源以指定应搜索的内容。
关键字筛选器
您可以使用关键字筛选器将查询变量添加到您的查询中。有关可用查询变量的列表,请参阅 Query variables in SharePoint Server。
您可以从下拉列表中选择预定义的查询变量,然后单击“添加关键字筛选器”将它们添加到查询中。
属性筛选器
您可以使用属性筛选器来查询在搜索架构中设置为可查询的托管属性的内容。
您可以从“属性筛选器”下拉列表中选择托管属性。单击“添加属性筛选器”以将筛选器添加到查询中。
在“排序”选项卡上,您可以通过以下操作指定搜索结果的排序方式:
在“排序依据”下拉列表中:
若要按在搜索架构中设置为可排序的托管属性排序,请从列表中选择托管属性,然后选择“降序”或“升序”。若要添加更多排序级别,请单击“添加排序级别”。
备注
搜索结果排序需区分大小写。
若要按相关性级别排序,请选择“级别”,然后执行以下操作:
在“排名模型”列表中,选择要用于对搜索结果进行排序的排名模型(可选选项)。
在“动态排序”部分,若要通过添加当某些条件适用时将更改结果顺序的规则来指定附加级别,请单击“添加动态排序规则”,然后指定条件规则。
在“测试”选项卡上,您可以预览查询。
查询文本
显示内容搜索 Web 部件将运行的最终查询。它基于用当前值替换动态变量的原始查询模板。对查询的其他更改可能需要作为查询规则的一部分进行更改。
单击“显示更多”以显示更多信息。
查询模板
显示应用于查询的查询模板的内容。
查询模板变量
显示将应用于查询的查询变量以及应用于当前页的变量的值。您可以键入其他值来测试它们对查询的影响。单击“测试查询”按钮可预览搜索结果。
将查询规则设为非活动状态
在 Search Service 应用程序级别创建的查询规则将由使用 Search Service 应用程序的 Web 应用程序中的网站集和网站继承。同样,在网站集级别创建的查询规则将由网站集中的网站继承。如果您不希望将查询规则应用于继承它的网站,则可将查询规则设置为对于该网站是非活动的。
使查询规则对于某个网站是非活动的
确认执行此过程的用户帐户是网站的 Owners 组的成员。
在网站集上的“设置”菜单中,单击“网站设置”。
在“网站设置”页的“搜索”部分,单击“查询规则”。
在“管理查询规则”页的“选择结果源”菜单上,选择包含要将其设置为非活动的查询规则的结果源。
在“名称”列中,指向要将其设置为非活动的查询规则,单击出现的箭头,然后单击“设为非活动”。
对查询规则排名
如果 Search Service 应用程序、网站集或网站有多个活动的查询规则,则将为在相应级别执行的查询触发多个规则。默认情况下,这些规则不会按指定的顺序触发。可通过将您创建的查询规则添加到查询组来控制规则将触发的顺序。为此,请选择将添加到组中的规则,然后指定这些规则在被触发时在组中的触发顺序。您还可以阻止触发组中级别最低的查询规则,即使这些规则已被触发也是如此。
对网站集的查询规则排名
确认执行此过程的用户帐户是网站集管理员。
在网站集的“设置”菜单上,单击“网站设置”。
在“网站设置”页的“网站集管理”部分,单击“搜索查询规则”。
在“管理查询规则”页的“选择结果源”菜单上,选择包含要将其分组的查询规则的结果源。
对于创建的要添加到某个组中的所有查询规则,请指向相应规则,然后选中复选框。
备注
为此网站集创建的查询规则将列出在“已针对此网站集定义”部分。
单击“对选定的规则进行排序”。
在“对选定的规则进行排序”对话框中,执行下列操作之一,然后单击“确定”:
选中“将规则移动到具有此名称的新组”,然后键入该组的名称。
选择“将规则移到现有组”,然后在下拉列表中选择该组。
在“管理查询规则”页上,执行以下操作:
若要更改某个规则在触发时在组中的触发顺序,请更改该规则的数字顺序。
若要阻止组中级别最低的查询规则触发,请在组中应最后触发的查询规则所对应的行中,在“操作”列的“继续/停止”下拉列表中,选择“停止”。
See also
在 SharePoint Server 中规划查询转换和结果排序
SharePoint Server 中的搜索结果排名概述
Query variables in SharePoint Server