扩展人物搜索,自定义结果源

Extend people search, custom result source

我根据 "Local SharePoint Results" 创建了一个自定义结果源,我在其中使用了这个 "Query Transform"

{?(({searchTerms}) ContentClass=urn:content-class:SPSPeople)} 
{?OR (({searchTerms}) spcontenttype:contact)}

我的搜索结果有效,我得到了 sppeople 和联系人。 我想不通的是为什么 spspeople 对象在搜索结果中显示为网站。在调试时我注意到它确实返回了一个 sppeople 内容 class。

我希望它呈现为 "normal" 带有图片等的人物对象。

1.I 复制了 control_searchresults 显示模板。并将此代码包含在函数中(使用标题作为首选名称,并且首选名称用于人员项目显示):

 var peopleTable = ctx.ListData.ResultTables.filter(function( table ) {
      return table.TableType == "RelevantResults";
    });


    if( $isEmptyArray(peopleTable) ) return;

    if(!$isEmptyArray(peopleTable)) {

    for (var i=0, item; item = peopleTable[0].ResultRows[i]; i++) {
          item.PreferredName = item.Title;
    }
  1. 在人物搜索 web 部件中选择将其用作显示模板。

3.In Web 部件:"Use a single template to display items" 并选择了 "People item"。