Исходя из комментария Роба выше, я нашел это полезным. Ниже приведен код C #, который я сделал.
Код в ссылке выдает ошибку в SPServiceContext.Current, если вы создаете консольное приложение. Так что первый шаг и метод GetContext () являются специфическими для этой ситуации.
SPSite mySite = new SPSite("http://localhost");
SearchServiceApplicationProxy proxy = (SearchServiceApplicationProxy)SearchServiceApplicationProxy.GetProxy(SPServiceContext.GetContext(mySite)); Guid appId = proxy.GetSearchServiceApplicationInfo().SearchServiceApplicationId;
//Console.WriteLine("AppID : " + appId.ToString());
SearchServiceApplication app = SearchService.Service.SearchApplications.GetValue<SearchServiceApplication>(appId);
Content content = new Content(app);
ContentSourceCollection cs = content.ContentSources;
Console.WriteLine("Name\tId\tCrawlCompleted");
foreach (ContentSource csi in cs)
{
Console.WriteLine(csi.Name + "\t" + csi.Id + "\t" + csi.CrawlCompleted);
}
Console.WriteLine("Starting full crawl....");
ContentSource css = content.ContentSources["source name"]; //csi.Name within square brackets
css.StartFullCrawl();
Console.WriteLine("Full crawl on source name started...");
Обязательно настройте целевую платформу сборки в Свойствах проекта при установке Sharepoint. В противном случае SpSite не будет создан.