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

时间:2015-02-27 07:19:04

标签: sharepoint-2013 sharepoint-search

我根据“本地SharePoint结果”创建了一个自定义结果源,我使用此“查询转换”

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

我的搜索结果有效,我得到了spspeople和联系人。 我无法弄清楚为什么spspeople对象作为网站出现在搜索结果中。在调试时我注意到它确实是一个spspeople内容类返回。

我想把它呈现为带有图片的“普通”人物对象等。

1 个答案:

答案 0 :(得分:0)

1.我制作了control_searchresults displaytemplate的副本。并将此代码包含在函数中(使用title作为prefferedname,prefferedname用于People项显示):

 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. 在人物搜索网页部件中,选择将其用作显示模板。
  2. 3.在webpart中:"使用单个模板显示项目"并选择"人物项目"。