Procédure : gérer l'analyse d'une source de contenu par programme
La classe ContentSource du modèle objet Administration de la Recherche de contenu d'entreprise fournit plusieurs méthodes permettant de démarrer, arrêter, suspendre et reprendre des analyses par programme en dehors d'un calendrier d'analyse pour une source de contenu spécifique. Vous pouvez également utiliser plusieurs propriétés de la classe ContentSource pour vérifier l'état d'analyse d'une source de contenu.
Les étapes des procédures suivantes indiquent comment effectuer les tâches suivantes :
Configurer une application de console pour utiliser le modèle objet Administration de la Recherche de contenu d'entreprise.
Récupérer une source de contenu spécifique.
Effectuer diverses tâches d'administration des analyses pour cette source de contenu.
Vous pouvez également configurer par programme le calendrier des analyses d'une source de contenu. Pour plus d'informations, voir Procédure : configurer par programme une planification d'analyse pour une source de contenu.
Pour configurer votre application pour utiliser le modèle objet Administration de la recherche de contenu d'entreprise
Dans votre application, définissez des références aux DLL suivantes :
Microsoft.SharePoint.dll
Microsoft.Office.Server.dll
Microsoft.Office.Server.Search.dll
Dans le fichier des classes de votre application de console, ajoutez les instructions using suivantes dans la partie supérieure du code avec les autres directives d'espace de noms.
using Microsoft.SharePoint; using Microsoft.Office.Server.Search.Administration;
Créez une fonction pour écrire des informations d'utilisation dans la fenêtre de console.
private static void Usage() { Console.WriteLine("Manage Content Source Crawl Status"); Console.WriteLine("Usage: ManageCrawlStatus.exe <ContentSource>"); Console.WriteLine("<ContentSourceName> - Specify the content source name."); }
Dans la fonction
Main()
de l'application de console, ajoutez du code pour vérifier le nombre d'éléments du paramètre args[] ; s'il est inférieur à 1, ce qui signifie qu'aucune valeur n'a été spécifiée pour identifier la source de contenu, appelez la fonctionUsage()
définie à l'étape précédente.if (args.Length < 1 ) { WriteUsage(); return; }
Pour récupérer une source de contenu spécifique
Ajoutez le code suivant pour récupérer l'objet Content du contexte de recherche du fournisseur de services partagés :
/* Replace <SiteName> with the name of a site using the SSP */ string strURL = "http://<SiteName>"; Content sspContent = new Content(SearchContext.GetContext(new SPSite(strURL)));
Pour plus d'informations sur les méthodes de récupération du contexte de recherche, voir Procédure : renvoyer le contexte de recherche pour le fournisseur du service de recherche.
Récupérez la collection des sources de contenu.
ContentSourceCollection sspContentSources = sspContent.ContentSources;
Récupérez la valeur spécifiée dans le premier élément du paramètre args[], qui indique le nom de la source de contenu à récupérer.
string strContentSourceName = args[0];
Récupérez la source de contenu avec le nom spécifié dans la collection de sources de contenu.
ContentSource cs = sspContentSources[strContentSourceName]; <…>
Pour démarrer une analyse incrémentielle de la source de contenu
Remplacez l'espace réservé « <…> » par le code suivant.
cs.StartIncrementalCrawl(); break;
Pour démarrer une analyse complète de la source de contenu
Remplacez l'espace réservé « <…> » par le code suivant.
cs.StartFullCrawl(); break;
Pour suspendre une analyse en cours
Remplacez l'espace réservé « <…> » par le code suivant.
cs.PauseCrawl(); break;
Pour reprendre une analyse suspendue
Remplacez l'espace réservé « <…> » par le code suivant.
cs.ResumeCrawl(); break;
Pour arrêter une analyse de la source de contenu
Remplacez l'espace réservé « <…> » par le code suivant.
cs.StopCrawl(); break;
Pour vérifier les valeurs d'état d'analyse d'une source de contenu
Il existe plusieurs valeurs d'état d'analyse que vous pouvez vérifier pour une source de contenu à l'aide des propriétés de l'objet ContentSource. L'exemple suivant montre comment faire pour vérifier ces propriétés.
Console.WriteLine("Crawl Status = " + cs.CrawlStatus); Console.WriteLine("Crawl started at: " + cs.CrawlStarted.ToString()); Console.WriteLine("Crawl completed at: " + cs.CrawlCompleted.ToString());
Voir aussi
Autres ressources
Procédure : renvoyer le contexte de recherche pour le fournisseur du service de recherche
Vue d'ensemble des sources de contenu
Procédure : récupérer les sources de contenus pour un fournisseur de services partagés
Procédure : ajouter une source de contenu
Procédure : supprimer une source de contenu
Procédure : configurer par programme une planification d'analyse pour une source de contenu