在JSOM中设置SharePoint搜索查询结果源

时间:2018-05-15 10:36:51

标签: sharepoint-online sharepoint-jsom sharepoint-search

我将结果源级别设置为' SPSite'因为我想使用网站集级别定义的结果源。但它不起作用。是' SPSite' JSOM中的有效参数?

let query = new Search.KeywordQuery(ctx);

// set Source Name
query.get_properties().set_item('SourceName', 'Result Source Name');
// set Source Level
query.get_properties().set_item('SourceLevel', 'SPSite');

如果我将源级别设置为' SPSiteSubscription',它会成功使用租户级别的结果源。

1 个答案:

答案 0 :(得分:1)

我被困在同一地点一段时间了。在查询中添加一个精简过滤器为我和我所处的情况提供了诀窍。也可能对你有用。

    // add refiner(s)
    keywordQuery.set_refiners("SPSiteURL");

    // add the returned columns
    var properties = keywordQuery.get_selectProperties();
    properties.add('SPWebUrl');                 // site this comes from

    // below is how to build the refinement filter to add to the keywordquery
    var filterCollection = keywordQuery.get_refinementFilters();

    // add scope filter, can be mannualy or can grab the webUrl from the client context
    // var filter = Modifier + ':"' + RefinementToken(or value) + '"';
    filterCollection.add('SPSiteURL:"'+webUrl+'"');