Partager via


Conseils d'architecture pour créer des connecteurs de recherche fédérée

Dernière modification : mercredi 21 avril 2010

S’applique à : SharePoint Server 2010

Dans cet article
Connecteurs fédérés indispensables
Connecteur fédéré - Exemples de scénario
Conseils pour la création d'un connecteur fédéré

La Recherche Microsoft SharePoint Server 2010 offre la possibilité d’inclure des éléments provenant de référentiels de contenu qui ne sont pas indexés par le robot d’indexation du serveur de recherche par le biais d’emplacements fédérés.

La Recherche de contenu d’entreprise SharePoint prend en charge les types d’emplacements fédérés suivants :

  • Index de recherche sur ce serveur Résultats de recherche issus du serveur SharePoint Server 2010 local.

  • Index FAST Résultats de recherche issus de FAST Search Server 2010 for SharePoint.

  • Sites prenant en charge OpenSearch 1.0 ou 1.1 Flux RSS d’une page de résultats issus d’un serveur de recherche distant ou flux RSS pouvant faire l’objet d’une recherche qui prend en charge la norme OpenSearch (voir OpenSearch.org (éventuellement en anglais)) et qui renvoie les résultats de recherche dans un format XML structuré (résultats RSS ou Atom, par exemple).

Dans certains scénarios, il peut être utile d’inclure des résultats de recherche fédérée provenant d’autres types de référentiels de contenu, sans que la Recherche SharePoint Server analyse pour autant le contenu. Ces exemples de scénario incluent les référentiels qui :

  • ne peuvent pas être analysés, probablement à cause de la technologie, de ressources ou de la taille du contenu ;

  • possèdent déjà un moteur de recherche qui fonctionne bien ;

  • sont sécurisés et accessibles uniquement par des requêtes de recherche.

Pour inclure des résultats fédérés dans ces scénarios d'espace de stockage, vous devez créer un connecteur fédéré : il s'agit d'une application qui fournit une interface dans l'espace de stockage pour exposer les résultats du moteur de recherche de l'espace de stockage. Vous devez exposer les résultats comme ils sont exposés par les emplacements fédérés OpenSearch.

Décidez d'analyser directement le contenu d'un espace de stockage, ou de l'ajouter comme un emplacement fédéré, tenez compte des avantages suivants pour l'analyse directe du contenu :

  • Vous pouvez trier les résultats par pertinence.

  • Vous pouvez contrôler la fréquence de mise à jour de l'index de contenu.

  • Vous pouvez modifier des métadonnées analysées.

  • Vous pouvez effectuer une sauvegarde unique du contenu analysé.

Cette rubrique décrit la configuration requise et propose certains conseils d’architecture pour la création d’un connecteur fédéré pour la Recherche de contenu d’entreprise SharePoint.

Connecteurs fédérés indispensables

Cette section décrit la configuration requise pour un connecteur fédéré de base : elle explique tout d’abord comment la Recherche de contenu d’entreprise SharePoint se connecte à un emplacement OpenSearch et récupère les résultats. Elle traite ensuite de l’implémentation d’une fonctionnalité similaire dans un connecteur fédéré.

Fédération de la recherche à partir d'un emplacement OpenSearch

Avant de créer un connecteur fédéré pour la Recherche de contenu d’entreprise SharePoint, vous devez comprendre comment le serveur de recherche interroge un emplacement fédéré OpenSearch et comment il traite les résultats renvoyés :

  1. Le serveur de recherche envoie une requête GET à l'emplacement fédéré à l'aide de l'URL spécifiée dans le modèle de requête pour les informations de définition d'emplacement. L'URL paramétrée pointe vers l'interface Web de l'emplacement : elle contient la requête de recherche et tous les paramètres requis par le moteur de recherche.

  2. L’interface Web renvoie une réponse contenant les résultats de la recherche dans un format XML structuré (RSS (éventuellement en anglais) ou Atom (éventuellement en anglais), par exemple).

    Notes

    La Recherche de contenu d’entreprise SharePoint ne prend pas en charge les résultats renvoyés au format HTML ou XHTML.

  3. La Recherche de contenu d’entreprise SharePoint met en forme les résultats en fonction des métadonnées d’affichage des résultats de recherche spécifiées pour l’emplacement fédéré OpenSearch et les affiche dans l’interface utilisateur des résultats de recherche.

En fonction de ces opérations et des extensions de la Recherche de contenu d’entreprise SharePoint vers OpenSearch, l’emplacement fédéré OpenSearch doit au minimum pouvoir effectuer les tâches suivantes :

  • envoyer des requêtes au moteur de recherche sous forme d'URL ;

  • retourner les résultats au format XML.

Fonctionnalité requise pour un connecteur fédéré

En fonction des conditions d'un emplacement OpenSearch (voir plus haut), le connecteur fédéré doit pouvoir effectuer les tâches suivantes :

  • fournir un service ou une page Web à la requête du serveur de recherche, envoyé sous forme d'URL paramétrée ;

  • récupérer la requête de recherche à partir des paramètres de l'URL de requête ;

  • envoyer la requête au moteur de recherche de l'espace de stockage dans le format approprié ;

  • convertir les résultats de recherche de l'espace de stockage dans un format XML structuré ;

  • renvoyer le code XML des résultats de recherche XML dans la réponse au serveur de recherche. 

Connecteur fédéré - Exemples de scénario

Un connecteur fédéré est indispensable dans certains scénarios de recherche. Cette section fournit certains exemples de scénarios et des informations d'implémentation des exemples dans ces scénarios.

Notes

Les informations d'implémentation suivantes, fournies à titre d'information, représentent uniquement une petite partie des nombreuses solutions possibles.

Scénario 1 : connexion à une base de données SQL Server

Contexte du scénario : les connexions à la base de données nécessitent l'authentification Windows.

Solution possible : application Web d'un site SharePoint qui contient une page ASPX légère qui effectue les opérations suivantes :

  1. Génère une requête SQL à l'aide des termes de recherche passés dans l'URL de la demande.

  2. Se connecte à la base de données en tant qu'utilisateur qui a envoyé la requête.

  3. Exécute la requête SQL.

  4. Si des enregistrements sont renvoyés, les convertit au format XML et les renvoie au serveur de recherche dans la page ASPX de réponse.

Notes

Dans ce scénario, l'authentification NTLM fonctionne uniquement si la base de données et le site SharePoint se trouvent sur le même serveur. Si la base de données se trouve sur un serveur distant, vous devez utiliser l'authentification Kerberos.

Scénario 2 : Connexion à un site de recherche externe qui retourne les résultats au format HTML

Contexte du scénario : le site est configuré pour utiliser l'accès anonyme.

Solution possible : utiliser une application Web en dehors du contexte d'un site SharePoint qui contient une page ASPX légère qui effectue les opérations suivantes :

  1. Envoie une requête de recherche au site en utilisant les termes de recherche passés dans l'URL de la demande initiale.

  2. Convertit au format RSS les résultats de la réponse HTML reçue en provenance du site de recherche externe.

  3. Retourne le code XML RSS dans la réponse au serveur de recherche. 

Dans ce scénario, l’application Web du connecteur fédéré peut se trouver sur un serveur distant. Cependant, une des solutions les plus simples consiste à créer l’application Web dans le dossier _layouts du site SharePoint.

Dans une variante de cette solution de connecteur fédéré, vous pouvez ajouter la prise en charge de plusieurs sites de recherche externes : modifiez la page ASPX pour inclure des informations sur plusieurs sites dans une instruction case. Le modèle de requête spécifié pour ces emplacements peut alors inclure un paramètre personnalisé qui spécifie le site de l'instruction case qui reçoit la requête fédérée. Une autre variante consiste à combiner les résultats de plusieurs fournisseurs de recherche externes, en incorporant une logique de tri des résultats en fonction de leur pertinence.

Scénario 3 : connexion à une application de serveur principal qui expose les résultats de la recherche par l'intermédiaire d'un modèle objet

Contexte du scénario : l'application du serveur principal est configurée pour utiliser des formulaires d'authentification. Les mêmes noms d'utilisateur et mots de passe sont exigés pour toutes les requêtes.

Solution possible : configurer un emplacement fédéré pour utiliser l'authentification par formulaires d'entreprise, en indiquant le nom d'utilisateur et le mot de passe exigés dans la définition de l'emplacement.

Le connecteur fédéré est une application Web en cours d'exécution sur un serveur distant qui contient une page ASPX qui effectue les opérations suivantes :

  1. récupère les informations d'identification de l'utilisateur authentifié passées avec la demande ;

  2. appelle la méthode de modèle objet pour interroger l'application sur le serveur principal avec les termes de recherche passés sur l'URL de la demande ;

  3. convertit les résultats au format XML et les renvoie au serveur de recherche dans la page ASPX de réponse.

Scénario 4 : connexion à une application de serveur principal qui expose les résultats de la recherche par l'intermédiaire d'un service Web

Contexte du scénario : le service Web exige les informations d'identification de l'utilisateur pour chaque requête envoyée ; le mode d'authentification est Windows NTLM.

Solution possible : configurer un emplacement fédéré pour l'authentification utilisateur NTLM.

Le connecteur fédéré est une application Web en cours d'exécution sur le serveur distant qui contient une page ASPX qui effectue les opérations suivantes :

  1. récupère les informations d'identification de l'utilisateur authentifié passées avec la demande ;

  2. se connecte à un service d'authentification unique (SSO) pour obtenir les informations d'identification de l'utilisateur ;

  3. appelle la méthode du service Web qui interroge l'application sur le serveur principal avec les termes de recherche passés dans l'URL de la demande, en passant dans la demande les informations d'identification de l'étape précédente ;

  4. convertit les résultats au format XML et les renvoie au serveur de recherche dans la page ASPX de réponse.

Conseils pour la création d'un connecteur fédéré

Cette section contient des conseils et des recommandations pour déterminer :

  • la portée des connecteurs fédérés que vous créez ;

  • comment mettre en forme et personnaliser l'affichage des résultats de recherche.

Étendue de la création du connecteur fédéré

Lorsque vous prévoyez de créer et de mettre en œuvre votre connecteur fédéré, tenez compte des questions suivantes à propos de l'espace de stockage du contenu de l'emplacement fédéré :

  • Quels modes d'authentification l'espace de stockage prend-il en charge ?

  • Les informations d'authentification utilisées doivent-elles dépendre de l'utilisateur qui envoie la requête, ou les mêmes informations d'identification doivent-elles être utilisées pour toutes les requêtes vers un emplacement fédéré donné indépendamment de l'utilisateur ?

  • Quel est l'emplacement physique de l'espace de stockage ? Sur le même serveur que le site SharePoint, ou sur un serveur distant ?

  • Comment accéder à la fonctionnalité de recherche de l'espace de stockage ? Par exemple, par une des méthodes suivantes :

    • Service Web

    • Modèle objet

    • Page ASPX

    • Contenu HTML

  • Les résultats de l'emplacement fédéré doivent-ils inclure tous les champs personnalisés provenant de l'espace de stockage ?

  • Quelle personnalisation est nécessaire pour la mise en forme des résultats (transformation XSLT) ?

Affichage des résultats de la recherche

Cette section fournit des informations sur le format requis pour les résultats de recherche : vous pouvez personnaliser l'affichage des résultats de la recherche.

Création des résultats de recherche XML

Avant de renvoyer la réponse qui contient les résultats vers le serveur de recherche, vous devez convertir ces résultats dans un format XML structuré. Nous recommandons la conversion au format RSS pour un scénario de personnalisation simple, du fait que cela ne nécessite pratiquement aucune modification de la mise en forme par défaut du code XSL et des champs de propriétés dans les métadonnées d'affichage des résultats de la recherche de l'emplacement fédéré.

Retour de propriétés personnalisées

Si les résultats de la recherche XML retournés par un connecteur fédéré comprennent des propriétés personnalisées, ils ne s'affichent pas dans l'interface utilisateur des résultats de la recherche sauf si vous replacez la mise en forme par défaut des métadonnées d'affichage de l'emplacement fédéré pour les champs suivants :

  • Propriétés. ajoutez le nom de la propriété personnalisée à la liste des métadonnées. Vous devez inclure la propriété personnalisée dans cette liste, faute de quoi elle n'est pas disponible dans le code XSL. La propriété personnalisée doit être une propriété gérée.

    Notes

    Cela concerne les emplacements fédérés SharePoint ; dans le cas des magasins fédérés OpenSearch, toutes les propriétés sont disponibles dans le code XSL.

  • XSLMettez à jour la transformation XSLT pour afficher la propriété personnalisée.

Inclure le lien Résultats supplémentaires

Le lien Résultats supplémentaires est l'URL d'une page HTML qui affiche les résultats pour l'emplacement fédéré de la recherche. Pour inclure ce lien lorsque les résultats de la recherche sont affichés pour l'emplacement fédéré, il suffit d'inclure l'emplacement dans cette page HTML ou de créer votre connecteur fédéré pour fournir les résultats de la recherche dans une page HTML.

Voir aussi

Concepts

Exemple de code : Connecteur SQL Server pour la recherche fédérée

Vue d'ensemble de la recherche fédérée

Autres ressources

Spécification OpenSearch (éventuellement en anglais)