Architecture de la recherche de texte intégral

Mis à jour : 14 avril 2006

La recherche de texte intégral dans Microsoft SQL Server 2005 est rendue possible par le service du moteur de texte intégral Microsoft pour SQL Server (MSFTESQL). Le service MSFTESQL a deux rôles : prise en charge de l'indexation et prise en charge des requêtes.

L'architecture de la recherche de texte intégral dans SQL Server est illustrée ci-dessous.

Diagramme d'architecture de recherche de texte intégral

L'architecture se compose des éléments suivants :

  • Processus SQL Server (Sqlservr.exe)
  • Processus du moteur de texte intégral Microsoft pour SQL Server (Msftesql.exe)
  • Processus du démon de filtre du moteur de texte intégral Microsoft (Msftefd.exe)

Chacun de ces processus contient plusieurs composants, décrits dans les sections suivantes.

Processus SQL Server

Le processus SQL Server comprend les composants suivants :

  • Tables utilisateur
    Ces tables contiennent les données à indexer en texte intégral.
  • Carte de clés
    Ce composant contient le mappage entre les valeurs des données des colonnes clés de texte intégral et les ID de documents internes
  • Processeur de requêtes SQL Server
  • Rassembleur de texte intégral Microsoft
    Ce composant est responsable de la planification et du pilotage du remplissage des index de texte intégral, ainsi que de la surveillance des catalogues de texte intégral.

Processus du moteur de texte intégral Microsoft pour SQL Server (MSFTESQL)

Le service MSFTESQL est responsable des opérations suivantes :

  • Remplissage et gestion des catalogues de texte intégral
  • Simplification des recherches de texte intégral dans les tables des bases de données SQL Server.

Le processus MSFTESQL héberge les composants répertoriés dans le tableau suivant.

Composant Description

Gestionnaire du démon du filtre

Responsable de la surveillance de l'état du processus du démon du filtre du moteur de texte intégral Microsoft (MSFTEFD).

Indexeur

Crée la structure d'index inversé utilisée pour stocker les jetons indexés. Pour plus d'informations, consultez Structure de l'index de texte intégral.

Fichiers du dictionnaire des synonymes

Contiennent des synonymes des termes de recherche. Pour plus d'informations, consultez Dictionnaire des synonymes.

Fichiers de mots non significatifs

Contiennent une liste de mots fréquents inutiles pour la recherche. Pour plus d'informations, consultez Mots non significatifs.

Séparateurs de mots et analyseurs morphologiques

Effectuent une analyse linguistique sur toutes les données soumises indexées par l'index de texte intégral. Un séparateur de mots est un composant qui détermine les frontières des mots dans un flux de texte de la ligne en cours d'indexation en texte intégral. Un analyseur morphologique extrait la racine d'un mot donné. Par exemple « running », « ran » et « runner » sont des variations du mot « run ». Le service MSFTESQL appelle les analyseurs morphologiques au moment de la requête si cette dernière est une requête FREETEXT, ou demande une expansion fléchie.

Pour plus d'informations, consultez Séparateurs de mots et identificateurs de racines.

Pour plus d'informations sur le service MSFTESQL, consultez Moteur de texte intégral Microsoft pour SQL Server.

Processus du démon de filtre du moteur de texte intégral Microsoft (MSFTEFD)

Le processus MSFTEFD est démarré par le service MSFTESQL lors du processus d'indexation de texte intégral. Le service MSFTEFD héberge les composants suivants responsables de l'accès aux données des tables et du filtrage de ces dernières, de la séparation des mots et de l'analyse morphologique :

  • Gestionnaire de protocole
    Dans SQL Server 2005, ce composant accède aux données d'une table dans une base de données spécifiée.
  • Filtres
    Extraient un flux d'informations textuelles d'un document et ignore les informations non textuelles et de mise en forme. Pour plus d'informations, consultez Filtres de recherche en texte intégral.
  • Séparateurs de mots et analyseurs morphologiques

Tables internes

La recherche de texte intégral utilise les tables internes suivantes :

  • fulltext_index_map stocke les mappages entre les colonnes clés de texte intégral et les identificateurs de documents internes qui identifient les documents de manière unique.
  • fulltext_catalog_freelist stocke les identificateurs de documents inutilisés.
ms142541.note(fr-fr,SQL.90).gifRemarque :
Ces tables sont réservées à un usage interne uniquement. Vous ne pouvez pas modifier ces tables ou exécuter des requêtes sur celles-ci. La compatibilité descendante ou la disponibilité de ces tables dans les futures versions de SQL Server ne sont pas garanties.

Voir aussi

Concepts

Moteur de texte intégral Microsoft pour SQL Server
Processus d'indexation et d'interrogation de texte intégral

Autres ressources

Tables internes

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

14 avril 2006

Nouveau contenu :
  • Ajout d'informations sur les tables internes.