Partager via


Procédure : supprimer une source de contenu

Dans la Recherche de contenu d'entreprise, vous indiquez le contenu que doit analyser le service de recherche via les sources de contenu que vous configurez pour le fournisseur de services partagés du service de recherche.

La procédure suivante montre comment supprimer par programme une nouvelle source de contenu à l'aide du modèle objet de la Recherche de contenu d'entreprise.

Pour supprimer par programme une source de contenu dans la collection de sources de contenu du fournisseur de services partagés, vous utilisez la méthode Delete de l'objet ContentSource.

Notes

Quand une source de contenu est supprimée, la Recherche de contenu d'entreprise initie une analyse pour supprimer tous les éléments de l'index du contenu pour la source de contenu supprimée.

Pour supprimer une source de contenu

  1. Définissez dans votre application des références aux fichiers DLL suivants :

    • Microsoft.SharePoint.dll

    • Microsoft.Office.Server.dll

    • Microsoft.Office.Server.Search.dll

  2. Dans le fichier de classe de votre application console, ajoutez les instructions using suivantes dans la partie haute du code, avec les autres directives d'espaces de noms.

    using Microsoft.SharePoint;
    using Microsoft.Office.Server.Search.Administration;
    
  3. Ajoutez le code suivant pour extraire l'objet Content pour le contexte de recherche du fournisseur de services partagés :

    /*
    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);
    

    Pour plus d'informations sur les moyens de récupérer le contexte de recherche, voir Procédure : renvoyer le contexte de recherche pour le fournisseur du service de recherche.

  4. Récupérez la valeur spécifiée dans le paramètre args[], qui indique le nom de la source de données à supprimer.

    string strContentSource = args[0];
    
  5. Récupérez la collection de sources de contenu.

    ContentSourceCollection sspContentSources = sspContent.ContentSources;
    
  6. Récupérez la source de contenu dont le nom correspond à la valeur de la variable strContentSource.

    ContentSource cs = sspContentSources[strContentSource];
    
  7. Appelez la méthode Delete de l'objet ContentSource.

    cs.Delete();
    

Exemple

Voici le code complet de l'exemple d'application console décrite dans cette rubrique.

Conditions préalables requises

  • Vérifiez qu'un fournisseur de services partagés est déjà créé.

Références de projet

Ajoutez les références de projet suivantes dans votre projet de code d'application console avant d'exécuter cet exemple :

  • Microsoft.SharePoint

  • Microsoft.Office.Server

  • Microsoft.Office.Server.Search

using System;
using System.Collections;
using System.Text;
using Microsoft.Office.Server.Search.Administration;
using Microsoft.SharePoint;

namespace DeleteContentSourceSample
{
    class Program
    {
        static void Main(string[] args)
        {
                try
                {
                        /*
                        Replace <SiteName> with the name of a site using the SSP
                        */
                        string strURL = "<SiteURL>";
                        SearchContext context;
                        using (SPSite site = new SPSite(strURL))
                        {
                             Context = SearchContext.GetContext(site);
                        }
                        Content sspContent = new Content(context);
                        string strContentSource = args[0];
                        ContentSourceCollection sspContentSources = sspContent.ContentSources;
                        ContentSource cs = sspContentSources[strContentSource];
                        cs.Delete();
                        Console.WriteLine(strContentSource + " deleted.");
                }
                catch (Exception e)
                {
                        Console.WriteLine(e.ToString());
                }
        }
    }
}

Pour tester cet exemple de code, procédez comme suit :

  1. Compilez le projet pour l'application console.

  2. Ouvrez une fenêtre d'invite de commandes et accédez au répertoire contenant DeleteContentSourceSample.exe.

  3. Exécutez le code suivant :

    DeleteContentSourceSample.exe <Name>
    

    Notes

    Remplacez <Name> par le nom réel de la source de contenu que vous voulez supprimer.

Voir aussi

Autres ressources

Mise en route avec le modèle objet Administration de recherche de contenu d'entreprise
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 : gérer l'analyse d'une source de contenu par programme
Procédure : configurer par programme une planification d'analyse pour une source de contenu