1
我已經能夠創建定製結果來源爲SP13人民搜索是這樣的:搜索SharePoint 2013:設置結果源類型部分人民搜索結果
var fedManager = new FederationManager(application);
var owner = new SearchObjectOwner(SearchObjectLevel.SPSite, site.RootWeb);
var peopleSource = fedManager.GetSourceByName(Consts.ResultSources.PeopleSource, owner);
QueryTransformProperties queryProperties = new QueryTransformProperties();
SortCollection sortCollection = new SortCollection();
sortCollection.Add("PreferredName", SortDirection.Ascending);
queryProperties["SortList"] = sortCollection;
var currentResultSource = fedManager.CreateSource(owner);
currentResultSource.Name = sourceName;
currentResultSource.ProviderId = fedManager.ListProviders()["Local SharePoint Provider"].Id;
currentResultSource.CreateQueryTransform(queryProperties, "{?{searchTerms} ContentClass=urn:content-class:SPSPeople}");
currentResultSource.Commit();
這工作得很好,但我還是得手動在「類型」部分中設置「人員搜索結果」而不是默認的「SharePoint搜索結果」。我可以通過編程來完成嗎? 謝謝。
您的錯誤是在使用[「本地SharePoint提供程序」]而不是「本地人提供程序」。最好使用SearchProvider類的靜態屬性,而不是硬編碼魔術字符串。 – Alexey 2014-10-17 10:49:27