我将结果源级别设置为' 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',它会成功使用租户级别的结果源。
答案 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+'"');