Citation :
Architecture de SQL Server
Index et catalogues de texte intégral
Un index de texte intégral Microsoft® SQL Server 2000 permet de prendre en charge efficacement une recherche de mot sophistiquée dans des chaînes de données de type caractère. L'index de texte intégral stocke les informations se rapportant aux mots significatifs et leur emplacement à l'intérieur d'une colonne donnée. Cette information est utilisée pour répondre aux requêtes de texte intégral qui recherchent les lignes contenant ces mots ou ces combinaisons de mots.
Les index de texte intégral sont contenus dans les catalogues de texte intégral. Chaque base de données peut renfermer un ou plusieurs catalogues de texte intégral. Un catalogue ne peut pas appartenir à plusieurs bases de données et chaque catalogue peut contenir des index de texte intégral pour une ou plusieurs tables. Une table ne peut disposer que d'un seul index de texte intégral, aussi, chaque table qui possède un index de texte intégral ne peut appartenir qu'à un seul catalogue de texte intégral.
Les catalogues et les index de texte intégral ne sont pas stockés dans la base de données à laquelle ils appartiennent. Les catalogues et les index sont gérés séparément par le service Microsoft Search.
Un index de texte intégral doit être défini sur une base de données, il ne peut pas être défini sur un vue, une table système ou une table temporaire. La définition d'un index de texte intégral se compose de : Une colonne qui identifie de manière unique chaque ligne de la table (clé principale ou candidate) et qui ne doit pas comporter de valeur NULL.
Une ou plusieurs colonnes de chaînes de caractères couvertes par l'index. L'index de texte intégral est rempli à l'aide des valeurs de clé. L'entrée pour chaque clé dispose d'informations au sujet des mots significatifs (les mots vides sont éliminés) qui sont associés à la clé, à la colonne où ils se trouvent et à leur emplacement dans la colonne.
Les chaînes de texte mises en forme, telles que les fichiers de documents Microsoft® Word ou les fichiers HTML, ne peuvent pas être stockées sous forme de chaînes de caractères ou de colonnes Unicode, car une grande partie des octets de ces fichiers contiennent des structures de données qui ne forment pas des caractères valides. Les applications de bases de données peuvent cependant nécessiter un accès à ces données et leur appliquer des recherches de texte intégral. De nombreux sites stockent ces types de données dans des colonnes image, car celles-ci n'imposent pas que chaque octet forme un caractère valide. SQL Server 2000 offre la possibilité d'effectuer des recherches de texte intégral sur ces types de données stockées dans des colonnes image. SQL Server 2000 fournit des filtres lui permettant d'extraire des données texte de fichiers Microsoft Office (fichiers .doc, .xls et .ppt files), de fichiers texte (fichiers .txt) et de fichiers HTML (fichiers .htm). Lorsque vous concevez la table, outre la colonne image qui contient les données, vous incluez une colonne de liaison pour contenir l'extension du fichier pour la mise en forme des données stockées dans la colonne image. Vous pouvez créer un index de texte intégral qui référence à la fois la colonne image et la colonne de liaison pour activer les recherches de texte intégral sur les informations textuelles stockées dans la colonne image. Le moteur de recherche de texte intégral SQL Server 2000 utilise les informations d'extension du fichier provenant de la colonne de liaison afin de sélectionner le filtre approprié pour l'extraction de données texte de la colonne.
L'indexation de texte intégral met en uvre deux prédicats Transact-SQL pour tester les lignes par rapport à une condition de recherche de texte intégral : CONTAINS
FREETEXT Transact-SQL possède également deux fonctions qui renvoient un jeu de lignes qui correspondent à une condition de recherche de texte intégral : CONTAINSTABLE
FREETEXTTABLE En interne, SQL Server envoie la condition de recherche au service Microsoft Search. Le service Microsoft Search trouve toutes les clés qui correspondent à la condition de recherche de texte intégral et les renvoie à SQL Server. SQL Server utilise alors la liste des clés pour déterminer lesquelles des lignes de la table doivent être traitées.
Voir aussi
Index de texte intégral
Architecture des requêtes de texte intégral
Interrogation des données SQL Server en mode texte intégral
Service de recherche Microsoft
©1988-2000 Microsoft Corporation. Tous droits réservés.
|