SharePoint 2013 Search service 的 查询规则(Query Rules),可以让网站管理人员不需要写任何代码就可以客户化search 返回的结果:
1. 比如当用户输入关键字匹配 order (Query Matches KeyWords Exactly), 显示一个All orders 链接在所有结果前面,这个链接可以指向任何URL (可以添加多条 Promoted Result)
也可指定添加一个或多个结果(非当前关键字的搜索结果 Result Blocks),使用Query Builder配置这些Result Blocks
2. 当用户输入操作词(Query Conatins Action Term),比如download,可以只把download之外的非操作词传给搜索引擎, 同时可以添加Promoted Result 和 Result Block
3. 当用户输入的关键字匹配某一个字典(Query Matches Dictionary Exactly),也可以添加Promoted Result 和 Result Block
4. 当用户指定使用输入的搜索词是指定结果源(Result Source) 最高的频率的关键词(Query More Common in Source), 也可以添加Promoted Result 和 Result Block
5. 当用户使用输入的搜索词时,用户点击频率最高的结果类型(Result Type)为指定Result Type时(Result Type Commonly Clicked), 添加Promoted Result 和 Result Block
6. 当用户输入的关键词匹配某个注册表(Advanced Query Text Match)时,添加Promoted Result 和 Result Block
另外还可以通过设置Publishing属性(Start Date, End Date),来控制查询规则何时生效,如果不设置表示该规则即时生效和永不过期。
下面以第一条(Query Matches KeyWords Exactly)为例说明:
1. 新建一个Content Type,命名为order
2. 基于order Content Type新建一个List 命名为NewOrder并输入若干测试数据
(1~2具体步聚请参考 http://blog.csdn.net/farawayplace613/article/details/8426640)
3. 创建查询规则(Query Rule)
a. 打开SharePoint 2013 Central Administration->General ApplicationSettings->Farm Search Administration->Search ServiceApplication-> Query Rule
b. 选择"Local SharePoint Result (System)"
c. 点击"Create Query Rule"
d. 输入Rule name, 配置Query Condiction
e. 点击"Add Promoted Result",并配置该Promoted Result
f. 点击 "Edit" 在 Result Blocks部分
g. 点击"Lauch Query Builder",并配置 Query Builder
h. 点击 "Change ranked results by changing the query",同上配置
i. 点击 Save