为 SharePoint Server 中的 Web 内容管理创建查询规则
适用于:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
无需使用任何自定义代码,Search Service 应用程序管理员、网站集管理员和网站所有者即可通过创建查询规则帮助搜索响应用户的意图。 在查询规则中,指定条件和相关操作。 当查询满足查询规则中的条件时,搜索系统将执行规则中指定的操作(如缩小结果范围或更改结果显示的顺序),从而改进搜索结果的相关性。 例如,查询规则条件可能是查询中的某个术语与 SharePoint Server 术语集中的某个特定术语相匹配,也可能是对搜索系统中的某个特定结果源(如视频)经常执行某个查询。 当满足了查询规则条件时,相关操作可能是在搜索结果的顶部显示某个特定项目。 假定您有一个 intranet 网站,其中所有公司活动都保留在一个作为目录共享的库中,您想升级急救研讨会。 为此,您创建了一个推动急救研讨会在某人搜索“seminar”或“event”时显示在搜索结果顶部的查询规则。
可以为一个或多个结果源配置查询规则,且可以指定查询规则处于活动状态的时间段。
有关查询规则的详细信息,请参阅在 SharePoint Server 2016 中规划跨网站发布网站的搜索中的计划结果源和查询规则。
开始之前
注意
[!注意] 因为 SharePoint Server 在 Internet Information Services (IIS) 中作为网站运行,所以管理员和用户依赖于浏览器提供的辅助功能。 SharePoint Server 支持受支持的浏览器的辅助功能。 有关详细信息,请参阅以下资源:>SharePoint 中的 SharePoint>辅助功能中的>计划浏览器支持>辅助功能指南键盘快捷方式>触摸。
在创建查询规则前,建议您设置站点、继承目录并设置目录页和目录项。 这是因为之后您可更轻松地测试和验证不同的查询规则如何应用于您站点上存在的各个搜索 Web 部件。
在 SharePoint 服务器场中的不同级别创建查询规则
您可以为 Search Service 应用程序、网站集或网站创建查询规则。 下表显示了在各种情况下创建查询规则所需的权限以及可使用查询规则的位置。
查询规则的级别和权限
创建查询规则的级别 | 必须具有的权限 | 可使用查询规则的位置 |
---|---|---|
Search Service 应用程序 |
Search Service 应用程序管理员 |
Web 应用程序中使用 Search Service 应用程序的所有网站集 |
网站集 |
网站集管理员 |
网站集中的所有网站 |
网站 |
网站所有者 |
网站 |
To add or edit a query rule, you must go to the Manage query rules page. Depending on the level at which you are creating the query rule, use one of the following procedures to go to the Manage query rules page.
转到 Search Service 应用程序的“管理查询规则”页
确认执行此过程的用户帐户是 Search Service 应用程序的管理员。
In Central Administration, in the Application Management section, click Manage service applications.
单击要向其添加查询规则的 Search Service 应用程序。
在 Search Service 应用程序的“搜索管理”页上,找到“快速启动”中的“查询和结果”部分,单击“查询规则”。
转到发布网站集的“管理查询规则”页
验证执行此过程的用户帐户是发布网站集的网站集管理员。
在发布网站集上的“设置”菜单中,单击“网站设置”。
在“网站设置”页的“网站集管理”部分,单击“搜索查询规则”。
转到网站的"管理查询规则"页
确认执行此过程的用户帐户是网站的 Owners 组的成员。
在网站的"设置"菜单中,单击"网站设置"。
在"网站设置"页的"网站管理"部分,单击"查询规则"。
创建查询规则
创建查询规则
在“管理查询规则”页的“选择结果源”菜单中,选择新查询规则的结果源。
单击“新建查询规则”。
在“添加查询规则”页的“常规信息”部分的“规则名称”字段中,键入查询规则的名称。
单击以展开“上下文”部分。
在“上下文”部分,选择下列选项之一:
若要将查询规则应用于所有结果源,请选择“所有源”。
若要将查询规则应用于一个或多个特定结果源,请选择“这些源之一”。 默认情况下,将选择您在步骤 1 中指定的结果源。 若要为查询规则添加结果源,请执行以下操作:
单击“添加源”。 在“ 添加源 ”对话框中,选择结果源,然后单击“ 保存”。
- 若要将查询规则限制为一些类别(例如,只有在查询中包含托管导航术语集中的某个术语时才应触发的查询规则),请单击“显示其他条件”,然后指定以下内容:
若要将查询规则限制为某个类别,请单击“添加类别”。 在“ 从分类导入 ”对话框中,选择在查询中包含该术语将导致触发查询规则的术语,然后单击“ 保存”。
若要将查询规则限制为用户区段,请执行以下操作:
单击“添加用户区段”。
在 “添加用户段 ”对话框中的“ 标题 ”字段中,键入此规则的标题。
在“ 从分类导入 ”对话框中,选择表示用户段的术语,该用户段将导致查询规则在查询中出现时触发。
单击保存。
在“查询条件”部分,选择下表中列出的任一条件。
注意
当您为具有使用搜索技术的 Web 部件(本文中描述为“搜索 Web 部件”)的目录页创建查询规则时,您希望在 Web 部件中配置的查询充当查询条件,请单击“删除条件”,然后转到步骤 8。 如果您希望每当用户在搜索框中键入任何内容时就触发查询规则,则还应执行此操作。
查询条件 | 说明 | 配置 | 示例 |
---|---|---|---|
查询完全匹配关键字 |
如果希望查询规则在查询与您指定的词或短语完全匹配时触发,则选择此选项。 |
在"查询中包含这些短语之一"文本框中,键入一个或多个短语(用逗号分隔)。 |
You type "picture; pic" in the Query contains one of these phrases box. The query rule will fire when a user types "picture" or "pic" in a search box. The rule will not fire if a user types "pictures" or "sunny picture." |
查询包含操作术语 |
如果希望查询规则在查询包含指示用户要执行的操作的术语时触发,则选择此选项。 该术语必须位于查询的开头或末尾。 |
通过执行以下操作之一指定将导致查询规则触发的操作术语: 选择“操作术语是这些短语之一”,然后键入一个或多个短语。 选择“操作术语是此词典中的条目”,然后单击“从分类导入”。 在“ 从分类导入 ”对话框中,从术语集中选择一个术语,然后单击“ 保存”。 |
在 “操作术语是”这些短语 “文本框中键入”下载“一词。 当用户在搜索框中键入“下载 Contoso Electronics 数据表”时,用户可能不会搜索包含单词“download”、“Contoso”、“Electronics”和“datasheet”的文档。相反,用户可能正在尝试下载 Contoso Electronics 数据表。 当用户在搜索框中键入“下载 Contoso Electronics 数据表”时,将触发查询规则,并且仅将单词“Contoso”、“Electronics”和“datasheet”传递到搜索索引。 |
查询完全匹配词典 |
如果希望查询规则在查询与词典条目完全匹配时触发,则选择此选项。 |
From the ** Query contains an entry in this dictionary ** menu, select a dictionary. 若要指定其他字典,请单击“ 从分类导入”,然后在“ 从分类导入 ”对话框中,从术语集中选择术语,然后单击“ 保存”。 |
在一个 Internet 业务方案中,您具有一个名为 Brands 的术语集,其包含您目录中的所有品牌名称。 查询规则将在用户键入的名称与 Brands 术语集中的术语匹配时触发。 |
查询在源中更常见 |
如果希望查询规则在用户经常在您指定的其他结果源上发出查询时触发,则选择此选项。 |
在"更可能在此源中使用查询"菜单中,选择结果源。 |
In the Query is more likely to be used in this source menu, you select Local Video Results. The query rule will fire if a user types the word "training" in a search box and that word was frequently typed in a search box in the Videos vertical. |
通常单击的结果类型 |
如果您希望在其他用户键入相同的查询后频繁地单击特定结果类型时触发查询规则,则请选中此选项。 |
在“通常单击的结果匹配结果类型”菜单中,选择结果类型。 |
在一个 Internet 业务方案中,您具有一个电子产品的目录。 每个产品都有一个 PDF 数据表。 因此当用户查询特定产品时,搜索结果将返回两种结果类型:一种是链接到包含产品详细信息的页的结果,另一种是链接到 PDF 数据表的结果。 您可创建将在系统随着时间识别用户频繁单击 PDF 数据表的搜索结果时触发的查询规则。 如果您知道用户查找的内容类型,则可为此查询规则指定操作。 |
高级查询文本匹配 |
如果您要使用将导致触发查询规则的正则表达式、短语或词典条目,则请选中此选项。 |
若要匹配特定格式的所有电话号码,请在"查询匹配此正则表达式"框中指定正则表达式。 |
若要匹配格式为 nnn-nnn-nnnn 的所有电话号码,请指定正则表达式“ (? (\d{3}) ) ?-? (\d{3}) - (\d{4}) ”。 |
若要添加条件,请单击“添加备用条件”。
注意
此规则将在满足任一条件时触发。
- 在“操作”部分,指定要在查询规则触发时执行的操作。 请指定以下任一操作:
若要提升单个结果,使其显示在搜索结果的顶部,请单击“在 SharePoint 2010 产品中添加 提升的结果 (”,这称为“最佳匹配) ”。 在 “添加提升结果 ”对话框的“ 标题” 字段中,键入要提供此升级结果的名称。 在“URL”字段中,键入应升级的结果的 URL。 将此 URL 呈现为横幅而不是超链接。 单击“保存”。
您可添加若干单个的已升级结果。 如果存在多个已升级的结果,则可指定相对排名。
若要升级一组搜索结果,请单击“添加结果块”。 有关详细信息,请参阅本文后面的创建并显示结果块。
若要更改排名搜索结果,请单击“通过更改查询更改排名结果”。 有关详细信息,请参阅本文后面的更改排名搜索结果。
- 若要在特定时间段内激活查询规则,请单击“发布”,然后指定时间段。
创建并显示结果块
结果块是以组形式显示的多个搜索结果。 当指定的查询条件适用时,您可以像升级特定结果一样升级结果块。 例如,可以为颜色为黄色的所有目录项创建名为“ 黄色项 ”的结果块。 在 Internet 业务方案中,你有一个电子产品目录,并且你想要推广黄色 mp3 播放器,你可以创建一个查询规则,该规则将触发所有标记有 “mp3 播放器 ”术语的项目,其中操作是显示结果块 黄色项 。
结果块将自动出现在搜索结果 Web 部件中。 若要在内容搜索 Web 部件中显示结果块的结果,您必须配置它才能显示结果块。
为结果块配置查询条件时,可以使用查询变量。 查询变量是值在指定查询时未知的占位符。 不过,当查询运行时,此类信息就是已知的,可在系统向索引发送查询时使用。 例如,{User.Name} 表示键入查询的用户的显示名称,或 {searchBoxQuery} 表示用户在搜索框中键入的查询。 使用查询生成器配置查询时,将显示查询变量列表。 (请参阅以下过程中的步骤 3。)
在上一过程的第 8 步中,在“添加查询规则”页上的“操作”部分,单击“添加结果块”。
在“块标题”部分的“标题”字段中,键入结果块的名称。
在“查询”部分中,若要指定查询,请单击“启动查询生成器”。 在查询生成器中,指定以下内容:
- 在“基本”选项卡上,选择以下列表中的选项以定义结果块的查询:
查询选项 | 说明 |
---|---|
选择查询 |
选择结果源以指定应搜索的内容。 |
关键字筛选器 |
您可以使用关键字筛选器将查询变量添加到您的查询中。 有关可用查询变量列表,请参阅 Query variables in SharePoint Server。 You can select pre-defined query variables from the drop-down list, and then add them to the query by clicking Add keyword filter. |
属性筛选器 |
您可以使用属性筛选器来查询在搜索架构中设置为可查询的托管属性的内容。 您可以从"属性筛选器"下拉列表中选择托管属性。 单击“添加属性筛选器”以将筛选器添加到查询中。 |
在“排序”选项卡上,您可以指定结果块中的搜索结果的排序方式。 在“排序依据”下拉列表中:
若要按在搜索架构中设置为可排序的托管属性排序,请从列表中选择托管属性,然后选择“降序”或“升序”。 若要添加更多排序级别,请单击“添加排序级别”。
注意
搜索结果排序需区分大小写。
若要按相关性级别排序,请选择“级别”,然后执行以下操作:
在“排名模型”列表中,选择要用于对搜索结果进行排序的排名模型(可选选项)。
在“动态排序”部分,若要通过添加当某些条件适用时将更改结果顺序的规则来指定附加级别,请单击“添加动态排序规则”,然后指定条件规则。
在“测试”选项卡上,您可以预览已发送的查询。
值 | 说明 |
---|---|
查询文本 |
显示内容搜索 Web 部件将运行的最终查询。 它基于用当前值替换动态变量的原始查询模板。 对查询的其他更改可能需要作为查询规则的一部分进行更改。 |
单击“显示更多”以显示更多信息。
值 | 说明 |
---|---|
查询模板 |
显示应用于查询的查询模板的内容。 |
查询模板变量 |
显示将应用于查询的查询变量以及应用于当前页的变量的值。 您可以键入其他值来测试它们对查询的影响。 单击“测试查询”按钮可预览搜索结果。 |
在“查询”部分中,在“配置查询”框的“搜索此源”下拉列表中,选择应将此结果块应用于的结果源。
在“查询”部分的“项”下拉列表中,选择要在结果块中显示的结果数量。
单击展开“设置”部分。
结果块将仅显示您在上一步中指定的搜索结果数量。 但是,您可以在结果块底部添加一个“显示更多”链接来显示结果块的所有搜索结果。 若要添加“显示更多”链接,请选择“‘更多’链接转至以下 URL”,然后键入一个 URL。 可以在此 URL 中使用查询变量,例如,http://www.<site>/search/results.aspx?k={subjectTerms} 。
在“路由”部分,在“用于传送到内容搜索 Web 部件的标签”下的字段中,键入将结果块路由到内容搜索 Web 部件的标签,或选择现有标签。 你将在以下过程中使用此标签。
单击“确定”。
配置内容搜索 Web 部件以显示结果块
按照 配置 SharePoint Server 中的搜索 Web 部件中的“将内容搜索 Web 部件添加到页面”中所述,将内容搜索 Web 部件添加到页面。
在 Web 部件中,单击“内容搜索 Web 部件菜单”箭头,然后单击“编辑 Web 部件”。
在 Web 部件工具窗格中,在“属性”部分,展开“设置”部分。
在“设置”部分,从“结果表”列表中,选择要显示的结果块的标签。 此标签是您在上一过程创建结果块的步骤 7 中指定的标签。
若要使用页面上另一 Web 部件返回的查询结果作为显示结果块时的输入,请从“查询结果提供者”列表中,选择 Web 部件。
注意
在内容搜索 Web 部件中显示结果块时,不支持通过控制显示模板对搜索结果进行分页。
在内容搜索 Web 部件中显示升级的结果
在内容搜索 Web 部件中显示升级的结果
按照 配置 SharePoint Server 中的搜索 Web 部件中的“将内容搜索 Web 部件添加到页面”中所述,将内容搜索 Web 部件添加到页面。
在 Web 部件中,单击“内容搜索 Web 部件菜单”箭头,然后单击“编辑 Web 部件”。
在 Web 部件工具窗格中,在“属性”部分,展开“设置”部分。
在“设置”部分的“结果表”列表中,选择“SpecialTermResults”。
更改排名搜索结果
排名模型将计算搜索结果的排序顺序。 您可通过升级或降级搜索结果中的项来更改此排名。 例如,对于包含"download toolbox"的查询,您可创建将单词"download"识别为一个操作术语的查询规则,并更改排名搜索结果来升级 Intranet 上的某个下载网站的 URL。 您还可根据若干变量(如文件扩展名或特定关键字)动态更改搜索结果的排序顺序。 通过更改查询的方式更改排名搜索结果具有安全修整和精简结果的优点。 此外,如果文档不再可用,搜索结果将不再显示。
通过更改查询更改排名搜索结果
From step 8 of the procedure Create a query rule, on the Add Query Rule page, in the Actions section, click Change ranked results by changing the query.
在“ 生成查询 ”对话框中,指定以下内容:
- 在“基本”选项卡上,选择以下列表中的选项以更改排名搜索结果:
值 | 说明 |
---|---|
选择查询 |
选择结果源以指定应搜索的内容。 |
关键字筛选器 |
您可以使用关键字筛选器将查询变量添加到您的查询中。 有关可用查询变量列表,请参阅 Query variables in SharePoint Server。 You can select pre-defined query variables from the drop-down list, and then add them to the query by clicking Add keyword filter. |
属性筛选器 |
您可以使用属性筛选器来查询在搜索架构中设置为可查询的托管属性的内容。 您可以从"属性筛选器"下拉列表中选择托管属性。 单击“添加属性筛选器”以将筛选器添加到查询中。 |
在“排序”选项卡上,您可以通过以下操作指定搜索结果的排序方式:
在“排序依据”下拉列表中:
若要按在搜索架构中设置为可排序的托管属性排序,请从列表中选择托管属性,然后选择“降序”或“升序”。 若要添加更多排序级别,请单击“添加排序级别”。
注意
搜索结果排序需区分大小写。
若要按相关性级别排序,请选择“级别”,然后执行以下操作:
在“排名模型”列表中,选择要用于对搜索结果进行排序的排名模型(可选选项)。
在“动态排序”部分,若要通过添加当某些条件适用时将更改结果顺序的规则来指定附加级别,请单击“添加动态排序规则”,然后指定条件规则。
在“测试”选项卡上,您可以预览查询。
值 | 说明 |
---|---|
查询文本 |
显示内容搜索 Web 部件将运行的最终查询。 它基于用当前值替换动态变量的原始查询模板。 对查询的其他更改可能需要作为查询规则的一部分进行更改。 |
单击“显示更多”以显示更多信息。
值 | 说明 |
---|---|
查询模板 |
显示应用于查询的查询模板的内容。 |
查询模板变量 |
显示将应用于查询的查询变量以及应用于当前页的变量的值。 您可以键入其他值来测试它们对查询的影响。 单击“测试查询”按钮可预览搜索结果。 |
将查询规则设为非活动状态
在 Search Service 应用程序级别创建的查询规则将由使用 Search Service 应用程序的 Web 应用程序中的网站集和网站继承。 同样,在网站集级别创建的查询规则将由网站集中的网站继承。 如果您不希望将查询规则应用于继承它的网站,则可将查询规则设置为对于该网站是非活动的。
使查询规则对于某个网站是非活动的
确认执行此过程的用户帐户是发布网站上 Owners 组的成员。
在发布网站集上的“设置”菜单中,单击“网站设置”。
在网站集上的“设置”菜单中,单击“网站设置”。
在"网站设置"页的"搜索"部分,单击"查询规则"。
在"管理查询规则"页的"选择结果源"菜单上,选择包含要将其设置为非活动的查询规则的结果源。
在"名称"列中,指向要将其设置为非活动的查询规则,单击出现的箭头,然后单击"设为非活动"。
对查询规则排名
如果 Search Service 应用程序、网站集或网站有多个活动的查询规则,则将为在相应级别执行的查询触发多个规则。 默认情况下,这些规则不会按指定的顺序触发。 可通过将您创建的查询规则添加到查询组来控制规则将触发的顺序。 为此,请选择将添加到组中的规则,然后指定这些规则在被触发时在组中的触发顺序。 您还可以阻止触发组中级别最低的查询规则,即使这些规则已被触发也是如此。
对网站集的查询规则排名
验证执行此过程的用户帐户是发布网站集的网站集管理员。
在发布网站集上的“设置”菜单中,单击“网站设置”。
在“网站设置”页的“网站集管理”部分,单击“搜索查询规则”。
在"管理查询规则"页的"选择结果源"菜单上,选择包含要将其分组的查询规则的结果源。
对于创建的要添加到某个组中的所有查询规则,请指向相应规则,然后选中复选框。
注意
为此网站集创建的查询规则将列出在"已针对此网站集定义"部分。
单击"对选定的规则进行排序"。
在“ 顺序选择规则 ”对话框中,执行以下任一操作,然后单击“ 确定”:
选中"将规则移动到具有此名称的新组",然后键入该组的名称。
选择"将规则移到现有组",然后在下拉列表中选择该组。
在"管理查询规则"页上,执行以下操作:
若要更改某个规则在触发时在组中的触发顺序,请更改该规则的数字顺序。
若要阻止组中级别最低的查询规则触发,请在组中应最后触发的查询规则所对应的行中,在"操作"列的"继续/停止"下拉列表中,选择"停止"。