我将结果源级别设置为"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');
如果我将源级别设置为"SPSite订阅",它将成功使用租户级别结果源。
我在同一个地方被难住了一段时间。向查询添加精简条件筛选器对我和我所处的情况都很有用。可能对你也有用。
// 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+'"');