Partager via


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

Notes

Cette rubrique décrit la fonctionnalité qui fait partie de la Infrastructure Update for Microsoft Office Servers. Pour télécharger la mise à jour, voir Description de la mise à jour d'infrastructure SharePoint Server 2007 : 15 juillet 2008.

Recherche de contenu d'entreprise dans Microsoft Office SharePoint Server 2007 offre la possibilité d'inclure des éléments provenant d'espaces de stockage de contenu qui ne sont pas indexés par le robot de recherche du serveur via des emplacements fédérés.

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

  • Index de recherche locale Résultats de recherche provenant du serveur de recherche local.

  • Sites qui prennent en charge OpenSearch 1.0 ou 1.1Flux RSS d'une page des résultats de n'importe quel serveur de recherche distant ou n'importe quel flux RSS qui prend en charge OpenSearch et renvoie les résultats de recherche au format XML structuré (ex. flux RSS ou résultats Atome).

Dans certains scénarios, vous voudrez peut-être inclure des résultats de recherche fédérée provenant d'autres types de d'espaces de stockage de contenu mais vous ne voudrez pas que Recherche de contenu d'entreprise analyse le contenu. Ces exemples de scénario incluent les espaces de stockage 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 minimale et propose certains conseils d'architecture pour la création d'un connecteur fédéré pour Recherche de contenu d'entreprise.

Connecteurs fédérés indispensables

Cette section décrit la configuration minimale requise pour un connecteur fédéré de base : elle examine d'abord comment Recherche de contenu d'entreprise 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 Recherche de contenu d'entreprise, 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 qui contient les résultats de la recherche dans un format XML structuré (ex. RSS ou Atome).

    Notes

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

  3. Recherche de contenu d'entreprise 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 Recherche de contenu d'entreprise d'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.

Pour plus d'informations sur les applications Web dans des sites SharePoint, voir Procédure : créer une application Web dans un site Web SharePoint et Mise en route de la personnalisation par programme d'un site Web SharePoint dans Visual Studio.

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 solution plus simple consiste à créer l'application Web dans le dossier _layouts du site SharePoint. Pour plus d'informations sur la création de ce type d'application Web, voir How to: Modify Configuration Settings for an Application to Coexist with Windows SharePoint Services.

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

Référence

Spécification OpenSearch

Autres ressources

Exemple de Connecteur SQL Server pour la recherche fédérée
Exemple de connecteur de HTML en RSS de la recherche fédérée
Exemple de Connecteur de cartes Virtual Earth pour la recherche fédérée
Vue d'ensemble de la recherche fédérée