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» в разделе «Тип». Могу ли я сделать это программно? Спасибо.
Ваша ошибка была при использовании ["Local SharePoint Provider"] вместо "Local People Provider". И лучше использовать статические свойства класса SearchProvider, чем hardcode magic strings. – Alexey