Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le Gestionnaire d’étendue d'exploration (CSM) vous permet d’ajouter et de supprimer des racines de recherche pour vos dépôts de données dans et hors de l’étendue d'exploration de Windows Search.
Cette rubrique comprend les sujets suivants :
- À propos des racines de recherche
- Avant de commencer
- Windows 7 : API Gestionnaire des étendues de crawl
- Ajout de racines au périmètre d'analyse
- Suppression des racines du périmètre d’analyse
- Énumération des racines dans l’étendue d’analyse
- rubriques connexes
À propos des racines de recherche
Une racine de recherche définit la base d’un espace de noms Shell où des étendues spécifiques peuvent être incluses ou exclues, et est généralement le conteneur de niveau le plus élevé dans un protocole qui peut être énuméré. Il ne spécifie pas quelles parties de ce magasin doivent ou ne doivent pas être indexées ; il signale simplement qu’un magasin de contenu existe et est associé à un gestionnaire de protocole inscrit. La syntaxe permettant d’identifier une URL racine de recherche inclut le protocole, l’identificateur de sécurité du magasin ou de l’utilisateur, le chemin d’accès et éventuellement un élément spécifique (comme un fichier). Les exemples suivants montrent deux formes de syntaxe pour une racine de recherche.
<protocol>://<store or SID>\<path>\[item]
or
<protocol>://<store or SID>/<path>/[item]
Le <segment de protocole> doit être suivi de deux (2) barres obliques ('/'), sauf s’il s’agit du fichier : protocole, qui nécessite trois barres obliques (file:///). Le <site ou le segment SID> représente un magasin de contenu ou un identificateur de sécurité utilisateur si la racine de recherche est destinée à être spécifique à l’utilisateur. Le <segment de chemin d’accès> est un ensemble de conteneurs, tels que des répertoires ou des dossiers, et peut inclure le caractère générique « * ». Le <segment d’élément> est facultatif et peut également inclure le caractère générique '*'. Si vous n’incluez pas d’élément, veillez à terminer votre segment de chemin avec une barre oblique ou l’indexeur suppose que le dernier sous-conteneur est un élément.
Par exemple, supposons que vous ayez implémenté un gestionnaire de protocole (myPH) pour gérer les fichiers de type *.myext pour une application personnalisée. Tous ces fichiers se trouvent dans le dossier WorkteamA\ProjectFiles sur un ordinateur local. La racine de recherche peut ressembler à ceci :
- myPH:///C:\WorkteamA\ProjectFiles\
Supposons que vous envisagez d’inclure tous les fichiers .myext, mais rien d’autre de ce conteneur dans l’index. Le point de départ de recherche pourrait ressembler à ceci :
- myPH:///C :\WorkteamA\ProjectFiles\*.myext.
Les modèles génériques définissent des URL à l’aide du caractère générique « * » et sont considérés comme un modèle plutôt qu’une URL, mais la terminologie est souvent utilisée de manière interchangeable. Par exemple, file:///C :\ProjectA\*\data\ correspond aux URL suivantes :
- C :\ProjectA\version1\data\
- C :\ProjectA\version2\data\
Mais ce modèle ne correspondrait pas à cette URL :
- C :\ProjectA\version1\temp\data\
Vous devez créer de nouvelles racines de recherche pour les conteneurs qui ne figurent pas déjà dans l’étendue d’analyse de l’indexeur. Si le chemin C :\ParentScope est déjà inclus dans l’étendue d’analyse, vous n’avez pas besoin d’ajouter une nouvelle racine de recherche pour C :\ParentScope\ChildScope, sauf si vous savez que l’étendue enfant a été précédemment exclue.
L’interface utilisateur permettant de définir les options de Recherche Windows affiche les racines de recherche pour les utilisateurs afin qu’ils puissent affiner les règles d’étendue de leurs recherches. Dans le cadre du processus d’installation de votre gestionnaire de protocole personnalisé, conteneur et/ou application, vous pouvez définir une étendue d’analyse par défaut, avec des règles d’inclusion et d’exclusion. Ces règles sont présentées aux utilisateurs finaux en tant qu’emplacements. Les utilisateurs peuvent naviguer dans les sous-répertoires de votre racine de recherche prédéfinie et sélectionner ceux qu’ils souhaitent inclure dans les recherches ou effacer ceux qu’ils souhaitent exclure.
Avant de commencer
Avant de pouvoir utiliser l’une des interfaces CSM (Crawl Scope Manager), vous devez effectuer les étapes préalables suivantes :
- Créez l’objet CrawlSearchManager et obtenez son interface ISearchManager .
- Appelez ISearchManager ::GetCatalog pour « SystemIndex » pour obtenir une instance d’une interface ISearchCatalogManager .
- Appelez ISearchCatalogManager ::GetCrawlScopeManager pour obtenir une instance de l’interface ISearchCrawlScopeManager .
Après avoir apporté des modifications au Gestionnaire d’étendue d’analyse (CSM), vous devez appeler ISearchCrawlScopeManager ::SaveAll. Cette méthode ne prend aucun paramètre et retourne S_OK en cas de réussite.
Windows 7 : nouvelle API Gestionnaire de périmètre d'exploration
Dans Windows 7 et versions ultérieures, ISearchCrawlScopeManager2 étend les fonctionnalités de l’interface ISearchCrawlScopeManager . La méthode ISearchCrawlScopeManager2::GetVersion obtient la version du Gestionnaire de portée d'analyse (CSM), qui informe les clients si l'état du CSM a changé. ISearchCrawlScopeManager2 ::GetVersion n’entraîne pas d’appel interprocesseur. Si la fonction réussit, le pointeur retourné reste valide jusqu’à ce que le client appelle UnmapViewOfFile sur le pointeur et CloseHandle sur le handle retourné.
Ajout de racines à la portée de l'exploration
ISearchCrawlScopeManager indique au moteur de recherche les conteneurs à analyser et/ou regarder, et les éléments sous ces conteneurs à inclure ou exclure. Pour ajouter une nouvelle racine de recherche, instanciez un objet ISearchRoot , définissez les attributs racines, puis appelez ISearchCrawlScopeManager ::AddRoot et transmettez-le à votre objet ISearchRoot . L’URL racine de recherche prend la même forme que celle décrite précédemment pour la racine de recherche.
Le tableau suivant décrit les méthodes put pertinentes pour ISearchRoot ; Les autres méthodes put de l’interface ne sont pas utilisées actuellement par Windows Search. Nous vous recommandons d’inclure les identificateurs de sécurité des utilisateurs (SID) dans toutes les racines pour une meilleure sécurité. Les racines par utilisateur sont plus sécurisées, car les requêtes sont exécutées dans un processus par utilisateur, ce qui garantit qu’un utilisateur ne peut pas voir les éléments indexés à partir de la boîte de réception d’un autre utilisateur, par exemple.
| Méthode | Descriptif |
|---|---|
| put_ProvidesNotifications (Définit les notifications fournies) | Définissez la valeur TRUE si un gestionnaire de protocole ou une autre application informe le moteur de recherche des modifications apportées aux URL sous la racine de recherche. La notification indique que les URL ont besoin d’une réindexation. |
| put_RootURL | Définit l’URL racine de la recherche actuelle. L’URL prend le formulaire racine de recherche décrit précédemment. |
Par défaut, l’indexeur n’analyse pas une étendue lorsque vous ajoutez une racine de recherche. Vous devez également ajouter une règle d'inclusion pour la racine. Si vous souhaitez ajouter une racine spécifique à l’utilisateur pour une application, cette application doit ajouter les racines appropriées pour les nouveaux utilisateurs au démarrage de l’application.
Pour ajouter les racines appropriées pour les nouveaux utilisateurs :
- Obtenez le SID de l’utilisateur.
- Énumérez toutes les racines pour vérifier si l’un existe pour ce SID.
- Ajoutez une nouvelle racine à l’aide du SID, si nécessaire.
Suppression des racines de la portée d'analyse
Vous pouvez utiliser ISearchCrawlScopeManager pour supprimer une racine de l’étendue d'exploration lorsque vous ne souhaitez plus que cette URL soit indexée. La suppression d’une racine supprime également toutes les règles d’étendue pour cette URL. Par exemple, supposons que vous souhaitez désinstaller un magasin de contenu et/ou son gestionnaire de protocole à partir d’un système. Vous pouvez désinstaller l’application, supprimer toutes les données, puis supprimer la racine de recherche de l’étendue d’analyse, et le Gestionnaire d’étendue d’analyse supprime la racine et toutes les règles d’étendue associées à la racine.
Pour supprimer une racine de recherche existante, appelez ISearchCrawlScopeManager ::RemoveRoot avec la racine de recherche à supprimer. L’URL racine de recherche prend la même forme que la racine de recherche décrite précédemment. Cette méthode retourne S_FALSE si la racine est introuvable et si un code d’erreur s’il y a eu une erreur lors de la suppression d’une racine trouvée.
La suppression d’une racine de recherche supprime également l’URL de l’interface utilisateur pour les options recherche Windows. Les utilisateurs peuvent donc ne pas être en mesure de rajouter ce conteneur ou cet emplacement à l’aide de l’interface utilisateur. Il est également possible de supprimer tous les remplacements définis par l’utilisateur d’une racine de recherche et de revenir à la racine de recherche et aux règles d’étendue d’origine. Pour plus d’informations, consultez Gestion des règles d’étendue.
Note
Sur Windows Vista, si les utilisateurs sont supprimés via les Profils utilisateur dans le Panneau de configuration, CSM supprime toutes les règles et racines associées à leur SID et supprime leurs éléments indexés du catalogue. Sur Windows XP, vous devez supprimer manuellement les racines et règles des utilisateurs.
Énumération des racines dans le périmètre d'analyse
Le CSM énumère les racines de recherche à l’aide d’une interface d’énumérateur de style COM standard, IEnumSearchRoots. Vous pouvez utiliser cette interface pour énumérer les racines de recherche à plusieurs fins. Par exemple, vous pouvez afficher l’ensemble du scope de crawl dans une interface utilisateur ou découvrir si une racine particulière ou l’enfant d’une racine fait déjà partie du scope de crawl.
Rubriques connexes
-
Référence
-
conceptuelle