Création d’un connecteur d’indexation personnalisé
Dernière modification : mercredi 21 avril 2010
S’applique à : SharePoint Server 2010
Dans cet article
Codage de l’assembly
Création du fichier de modèle BCS
Déploiement du connecteur d’indexation personnalisé
Recherche Microsoft SharePoint Server 2010 utilise Microsoft Business Connectivity Services (BCS) pour analyser et indexer les données externes. Si votre système externe n’est pas directement pris en charge par Business Connectivity Services, vous pouvez exposer votre système externe via Business Connectivity Services en écrivant du code pour créer un service Web, un assembly de connectivité .NET ou un connecteur d’indexation personnalisé. Si le modèle d’entité du système externe est dynamique, possède des types personnalisés et est à grande échelle, vous devez envisager la création d’un connecteur personnalisé pour ce type de source de données. Pour plus d’informations, voir la rubrique Différences entre l’utilisation du .NET Assembly Connector et l’écriture d’un connecteur personnalisé.
Cette rubrique décrit la configuration requise pour créer un connecteur d’indexation personnalisé pour Recherche SharePoint Server et comprend les tâches suivantes :
Codage de l’assembly pour le connecteur d’indexation personnalisé
Création du fichier de modèle Business Connectivity Services
Déploiement du connecteur d’indexation personnalisé
Conseil |
---|
Pour des informations sur la création des services Web et des assemblys de connectivité .NET pour Business Connectivity Services, voir la rubrique Création d’assemblys .NET Connectivity Assembly et de services Web. |
Codage de l’assembly
Vous devez effectuer les opérations suivantes dans le code que vous écrivez pour l’assembly du connecteur d’indexation personnalisé :
Implémentez les types de structure de connecteur requis.
Définissez les types de contenu externes.
Implémentez les méthodes pour les opérations SpecificFinder et Finder.
Implémentation des types de structure de connecteur requis
La structure de connecteur Recherche SharePoint Server fournit les types suivants pour lesquels vous devez fournir des implémentations dans votre assembly de connecteur d’indexation personnalisé :
Ces types sont situés dans l’espace de noms Microsoft.Office.Server.Search.Connector.BDC. Vous devez ajouter une référence à Microsoft.Office.Server.Search.Connector.dll et à Microsoft.BusinessData.dll pour utiliser les types de structure de connecteur dans l’assembly du connecteur d’indexation personnalisé. Les étapes suivantes décrivent comment procéder à partir de l’environnement de développement intégré (IDE) de Microsoft Visual Studio 2010.
Pour ajouter les références
Avec le projet du connecteur d’indexation personnalisé ouvert dans l’IDE Visual Studio, dans le menu Projet, cliquez sur Ajouter une référence.
Sous l’onglet .NET, sélectionnez les références avec les noms de composants suivants, puis cliquez sur OK :
Composant Microsoft Search
Vous devriez voir deux entrées sous l’onglet .NET avec le nom de composant Microsoft Search. Sélectionnez l’entrée où la colonne Chemin d’accès contient %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\\ISAPI\Microsoft.Office.Server.Connector.dll. Si cette entrée est manquante sur l’onglet .NET de la boîte de dialogue Ajouter des références, vous devez ajouter la référence à partir de l’onglet Parcourir en utilisant le chemin d’accès vers Microsoft.Office.Server.Search.Connector.dll.
Microsoft SharePoint Foundation Business Data
Si cette entrée est manquante sur l’onglet .NET de la boîte de dialogue Ajouter des références, vous devez ajouter la référence à partir de l’onglet Parcourir. L’assembly de ce composant, Microsoft.BusinessData.dll, se trouve au même emplacement que Microsoft.Office.Server.Search.Connector.dll.
Classe StructuredRepositorySystemUtility
L’assembly doit inclure une classe qui dérive de la classe StructuredRepositorySystemUtility, qui est une implémentation partielle de l’interface ISystemUtility. Cette classe implémente la méthode ExecuteStatic(IMethodInstance, ILobSystemInstance, [], IExecutionContext), qui définit la façon dont les types du système externe sont traduits dans Recherche SharePoint Server.
Classe LobUri
L’assembly doit inclure une classe qui dérive de la classe LobUri, qui est une implémentation de l’interface ILobUri. Cette classe mappe les URL qui sont passées par l’Application de service de recherche aux Business Connectivity Services.
Interface INamingContainer
L’assembly doit inclure une classe qui implémente l’interface INamingContainer. Cette classe mappe les URL qui sont passés par les Business Connectivity Services à l’Application de service de recherche.
Définir les types de contenu externes
Pour chaque type de contenu externe que vous retournez du système externe, créez une classe et définissez les champs qu’elle doit contenir. Vous définissez dans cette étape un schéma de propriétés du type de contenu externe.
Implémentation de méthodes pour les opérations Finder et SpecificFinder
L’assembly doit fournir des implémentations de méthodes pour les opérations Finder et SpecificFinder. L’opération Finder retourne tous les éléments du système externe. Pour plus d’informations, voir la rubrique Implémentation de Finder. L’opération SpecificFinder retourne tous les détails d’un élément donné du système externe. Pour plus d’informations, voir la rubrique Implémentation de SpecificFinder.
Création du fichier de modèle BCS
Vous devez créer un fichier de modèle Business Connectivity Services pour le connecteur d’indexation personnalisé. Pour plus d’informations sur les fichiers de modèle Business Connectivity Services, voir Création de modèles BDC. Pour un exemple de fichier de modèle de connecteur personnalisé, voir Exemple de modèle BDC : connexion à un connecteur de système de fichiers personnalisé.
Le modèle pour le connecteur d’indexation personnalisé doit inclure les propriétés spécifiées dans le tableau suivant.
Nom |
Objet de métadonnées |
Description |
---|---|---|
SystemUtilityTypeName |
LobSystem |
Spécifie le nom qualifié complet de la classe dans l’assembly du connecteur d’indexation personnalisé qui hérite de la classe StructuredRepositorySystemUtility. |
InputUriProcessor |
LobSystem |
Spécifie le nom de la classe dans l’assembly du connecteur d’indexation personnalisé qui hérite de la classe LobUri. |
OutputUriProcessor |
LobSystem |
Spécifie le nom de la classe dans l’assembly du connecteur d’indexation personnalisé qui implémente l’interface INamingContainer. |
Déploiement du connecteur d’indexation personnalisé
Après avoir déployé le connecteur d’indexation personnalisé, vous devez l’inscrire avec l’Application de service de recherche, puis créer une source de contenu pour analyser les données externes.
Pour inscrire le connecteur d’indexation personnalisé personnalisé
Installez l’assembly du connecteur d’indexation personnalisé dans le global assembly cache sur le serveur d’applications. Pour plus d’informations, voir la rubrique How to: Install an Assembly into the Global Assembly Cache.
Copiez le fichier de modèle Business Connectivity Services sur le serveur d’applications.
Ouvrez SharePoint 2010 Management Shell sur le serveur d’applications. Pour plus d’informations sur l’utilisation de cet outil, voir Administration des applications de service à l’aide de SharePoint 2010 Management Shell.
À l’invite de commandes, tapez et exécutez la commande suivante :
$searchapp = Get-SPEnterpriseSearchServiceApplication
Une fois cette commande terminée, tapez et exécutez la commande suivante :
New-SPEnterpriseSearchCrawlCustomConnector -SearchApplication $searchapp -protocol ProtocolName -ModelFilePath "\\ServerName\FolderName\ModelFileName.xml" -Name Name
Sur le serveur d’applications, ajoutez la clé de Registre suivante :
[HKEY_LOCAL_MACHINE]\ SOFTWARE\Microsoft\Office Server\14.0\Search\Setup\ProtocolHandlers\ProtocolName
Définissez OSearch14.ConnectorProtocolHandler.1 comme valeur pour la clé de Registre créée à l’étape précédente.
À partir de l’invite de commandes, tapez et exécutez les commandes suivantes :
net stop osearch14
net start osearch14
Pour créer une source de contenu
Sur la page Administration de recherche, cliquez sur Sources de contenu, puis cliquez sur Nouvelle Source de contenu.
Tapez un nom pour la source de contenu et dans Type de source de contenu, cliquez sur Référentiel personnalisé.
Dans Type de référentiel, sélectionnez le protocole pour le connecteur d’indexation personnalisé.
Dans Adresses de démarrage, spécifiez l’adresse de démarrage, selon le protocole du connecteur d’indexation personnalisé.
Sélectionnez Démarrer l’analyse complète de cette source de contenu, puis cliquez sur OK.
Voir aussi
Concepts
Exemple de code : Connecteur d’indexation personnalisé MyFileConnector
Infrastructure de connecteur de recherche SharePoint Server
Services Business Connectivity : procédures et procédures pas à pas
Autres ressources
Exemple de connecteur d’indexation personnalisé MyFileConnector (éventuellement en anglais)