若要提供适合用户查询的搜索结果,有时必须更改查询。 例如,假设你为"图片"创建垂直搜索。 当某人在"图片"垂直中输入查询时,必须更改查询,以便它仅返回"图片"搜索结果。
若要更改查询,请使用查询生成器配置查询转换。 可以将查询转换配置为替换查询的属性,例如查询用于获取搜索结果的结果源, 或查询在显示搜索结果时将使用的排序顺序。 转换还会使用可配置的查询模板替换查询的文本。 查询模板是替换查询文本的文本,模板可以包含查询变量。
查询变量是值的占位符。 当转换将查询的文本替换为其查询模板时,它还将模板中的查询变量替换为特定值。
转换将上下文查询变量替换为与查询上下文相关的值。 下表显示了上下文查询变量的一些示例。
转换将替换此上下文查询变量 |
使用此功能 |
---|---|
{User.Name} |
键入查询的用户的名称 |
{Site.URL} |
用户键入值的网站 |
{Today} |
当天的日期 |
转换将绑定查询变量替换为用户查询中的特定文本。 下表显示了绑定查询变量的一些示例。
转换将替换此绑定查询变量 |
使用此功能 |
---|---|
{searchBoxQuery} |
用户键入的查询 |
{searchTerms} |
用户键入的查询,由最近转换更改 |
向查询添加限制时(例如,将查询限制为特定内容类型时)可以使用绑定查询变量。 例如,对于垂直图片搜索,可以使用查询模板"{searchTerms} contenttype:picture"配置向查询文本添加"contenttype:picture"的查询转换。 如果用户在垂直中输入查询"moon",转换将"{searchTerms}"替换为"moon"。 因此,查询转换将查询更改为"moon contenttype:picture"。
可以在三处配置查询转换:
-
在Web 部件,例如搜索结果Web 部件。 在不需要对Web 部件进行相同更改时,在查询中配置转换。
-
在 查询规则中,该规则指定仅在满足某些条件时执行某些操作。 其中两个操作使用转换来更改查询:
-
在搜索结果页面上添加结果块。 此操作将创建查询的副本,并且其转换仅更改该副本。
-
更改排名结果。 此操作会更改用户键入的查询。
-
-
在查询用于获取搜索结果的结果源中。
用户查询由查询Web 部件应用的任何查询规则,最后由结果源转换。 因此,在结果源中配置转换时,你知道转换更改不会被丢弃或重写,因为结果源最后转换查询。 例如,要确保图片搜索垂直仅返回图片,您可以在结果源中配置相应的转换,然后在垂直搜索中配置 Web 部件 以使用该结果源。
有关详细信息,请参阅 TechNet 上的查询处理 概述。