Search SharePoint 2013: установите в разделе "Тип источника результатов" значение "Результаты поиска людей"

Я смог создать собственный источник результатов поиска людей SP13, как это:

    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" в разделе "Тип". Могу ли я сделать это программно? Спасибо.

1 ответ

Решение
  • Чтобы установить для свойства Type значение People Results, необходимо обновить Source.ProviderId, чтобы оно соответствовало SearchProvider.LocalPeopleProviderGuid;
Другие вопросы по тегам