Développement de compléments de gestionnaire de protocole
Notes
Windows Desktop Search 2.x est une technologie obsolète qui était initialement disponible en tant que complément pour Windows XP et Windows Server 2003. Sur les versions ultérieures, utilisez plutôt Recherche Windows .
Vous pouvez étendre Recherche de bureau Microsoft Windows (WDS) pour inclure de nouveaux magasins de données en implémentant un gestionnaire de protocole personnalisé.
Indexation de magasins de données avec des gestionnaires de protocole
Un magasin de données est une source de contenu (un système de base de données, un répertoire, un système de fichiers) où les données sont stockées et peuvent être analysées par l’indexeur WDS. Le magasin peut être hiérarchique (comme une base de données) ou basé sur des liens (comme un site web). Un gestionnaire de protocoles permet aux applications d’indexation telles que WDS d’analyser systématiquement les nœuds d’un magasin de données afin d’extraire les informations pertinentes à inclure dans l’index. Chaque gestionnaire de protocole est utilisé pour indexer un type spécifique de magasin de données. WDS est fourni avec des gestionnaires de protocoles pour les magasins de système de fichiers et pour les magasins de données Microsoft Outlook et Microsoft Outlook Express (magasins de messagerie, . Fichiers PST, etc.). Lors de l’indexation d’e-mails Outlook, par exemple, le gestionnaire de protocole analyse tous les messages de tous les dossiers en extrayant les informations de chaque message et pièce jointe. Ces informations sont transmises à l’indexeur à inclure dans le catalogue WDS.
Les utilisateurs doivent souvent rechercher d’autres magasins de données, tels que des bases de données héritées, des magasins de messagerie ou des structures de données non prises en charge par WDS. Vous pouvez étendre WDS pour analyser un nouveau magasin de données en utilisant ou en implémentant un gestionnaire de protocole spécifiquement pour ce magasin de données. Tout d’abord, vous devez d’abord déterminer si un gestionnaire de protocole existe déjà pour votre magasin de données, peut-être pour une utilisation avec une autre application comme SharePoint Services. Si c’est le cas, vous pouvez installer ce gestionnaire de protocole sur le système. Toutefois, si un autre gestionnaire de protocole n’existe pas, vous devez en implémenter un. Les gestionnaires de protocole WDS utilisent les mêmes spécifications de conception que SharePoint Services, et ils peuvent souvent être utilisés de manière interchangeable.
En outre, si le magasin de données contient des données ou des types de fichiers autres que l’un des 200 types de fichiers pris en charge par WDS, vous devez également implémenter un filtre pour accéder et indexer le contenu des éléments dans le magasin. WDS 2.x utilise le gestionnaire de protocoles et la technologie IFilterutilisées par SharePoint Services. Si vous avez déjà installé des filtres pour un magasin et un type de fichier spécifiques sur le système en cours d’indexation, WDS utilise les interfaces existantes pour indexer ces données.
Feuille de route pour l’ajout de nouveaux magasins de données
Pour étendre WDS à l’analyse de nouveaux magasins de données, vous pouvez créer un gestionnaire de protocole et un ou plusieurs des compléments suivants : gestionnaire de menus contextuels, gestionnaire d’icônes et complément SearchProtocolOptions.
Créez et inscrivez un gestionnaire de protocole multithread pour le magasin de données :
- ISearchProtocol : cette interface accède à un protocole et mappe une URL à un IUrlAccessor.
- IUrlAccessor : il s’agit de l’interface main utilisée pour accéder aux éléments à partir de la source de contenu et lier le contenu au filtre approprié.
- IProtocolHandlerSite : cette interface est utilisée pour demander et charger des filtres supplémentaires.
- IFilter : cette interface retourne l’URL de chaque élément d’un dossier en tant que propriétés de valeur pour le traitement.
Notes
La fonctionnalité minimale de complément nécessaire pour retourner des résultats de recherche à partir d’un magasin de données non hiérarchique est une implémentation des interfaces ISearchProtocol et IUrlAccessor.
Implémentez l’interface ISearchProtocolOptions pour inclure des options de gestionnaire de protocole personnalisées, telles que la ou les pages de démarrage prédéfinies :
- ISearchProtocolOptions : cette interface définit les URL par défaut que le gestionnaire de protocole doit traiter, détermine quelles sont les conditions requises pour un gestionnaire de protocole et détermine si les exigences ont été remplies sur un système donné.
Étendez l’interpréteur de commandes pour inclure des éléments d’interface utilisateur, tels que des menus contextuels et des icônes spécifiques aux fichiers, en implémentant les interfaces suivantes :
- IShellFolder : cette interface, utilisée pour gérer les dossiers, est nécessaire pour fournir les interfaces IContextMenu et IExtractIcon pour une URL dans un nouveau magasin.
- IPersistFolder : cette interface est requise pour demander à un objet de dossier Shell de s’initialiser.
- IPersist : cette interface fournit l’identificateur de classe (CLSID) d’un objet qui peut être stocké de manière permanente dans le système.
- IContextMenu : cette interface définit le menu contextuel clic droit pour un élément pointé par URL.
- IExtractIcon : cette interface définit l’icône à afficher pour un élément pointé par URL.
Implémentez un mécanisme pour informer l’indexeur des modifications apportées à votre magasin de données :
- ISearchItemsChangedSink : cette interface permet à votre gestionnaire de protocole de notifier l’index des modifications apportées à votre magasin de données. Cela améliore les performances en garantissant que l’indexeur n’analyse pas l’ensemble du magasin sur les index incrémentiels.
Rubriques connexes
-
Informations de référence
-
Ajout d’icônes, d’aperçus et de menus contextuels avec des extensions d’interpréteur de commandes