需要帮助来完成我的C#程序。我的农场里有四个内容来源。如果内容源处于空闲状态,我需要获取所有内容源并开始完全爬网。
最好的方法是什么。有人可以指点我找一篇关于Sharepoint搜索对象模型/快速搜索对象模型的好文章。
答案 0 :(得分:1)
您可以使用以下方式获取所有ContentSourceCollection:
/*
Replace <SiteName> with the name of a site using the SSP
*/
string strURL = "http://<SiteName>";
SearchContext context;
using (SPSite site = new SPSite(strURL))
{
context = SearchContext.GetContext(site);
}
Content sspContent = new Content(context);
ContentSourceCollection sspContentSources = sspContent.ContentSources;
foreach (ContentSource cs in sspContentSources)
{
Console.WriteLine("NAME: " + cs.Name + " ID: " + cs.Id);
}
如果您想要特定ContentSource
而不是:
string strContentSourceName = "FASTQuerySSA"; //which indicates the name of the content source to retrieve
ContentSource cs = sspContentSources[strContentSourceName];
Console.WriteLine("Crawl Status = " + cs.CrawlStatus);
Console.WriteLine("Crawl started at: " + cs.CrawlStarted.ToString());
Console.WriteLine("Crawl completed at: " + cs.CrawlCompleted.ToString());
cs.StartIncrementalCrawl();
break;
cs.StartFullCrawl();
break;
cs.PauseCrawl();
break;
cs.StopCrawl();
break;
有关详细信息,请参阅此处:http://msdn.microsoft.com/en-us/library/aa679491%28v=office.12%29.aspx
以下是一些枚举服务器场中所有搜索服务应用程序的代码。它包括所有这些,包括FAST内容和FAST查询:
SearchService s = new SearchService("OSearch14", SPFarm.Local);
foreach (SearchServiceApplication ssa in s.SearchApplications)
{
//do something with the proxy here
}