Partager via


Recherche en texte intégral (SQL Server)

SQL Server 2008 fournit la fonctionnalité permettant aux applications et aux utilisateurs d'émettre des requêtes de texte intégral sur des données caractères dans des tables SQL Server. Avant de pouvoir exécuter des requêtes de texte intégral sur une table donnée, l'administrateur de base de données doit créer un index de recherche en texte intégral sur la table. L'index de recherche en texte intégral inclut une ou plusieurs colonnes de caractères dans la table. Les types de données de ces colonnes peuvent être char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary ou varbinary(max). Chaque index de recherche en texte intégral indexe une ou plusieurs colonnes de la table de base, et chaque colonne peut contenir une langue spécifique. À compter de SQL Server 2008, la recherche en texte intégral prend en charge plus de 50 langues, dont l'anglais, l'espagnol, le chinois, le japonais, l'arabe, le bengali et l'hindi. Pour obtenir une liste complète des langues de texte intégral prises en charge, consultez sys.fulltext_languages (Transact-SQL).

Pour chaque langue prise en charge, SQL Server fournit des composants linguistiques spécifiques d'une langue, y compris un analyseur lexical et générateur de formes dérivées et un fichier de dictionnaire des synonymes vide. Pour chaque langue de texte intégral, SQL Server fournit également un fichier dans lequel vous pouvez, le cas échéant, définir des synonymes spécifiques d'une langue afin d'accroître l'étendue des requêtes de recherche (fichier de dictionnaire des synonymes). En outre, à compter de SQL Server 2008, une liste de mots vides système est fournie. Pour permettre la prise en charge d'une langue spécifique ou de scénarios d'entreprise, vous pouvez ajouter ou supprimer des mots vides (également appelés mots parasites) dans la liste de mots vides système, et vous pouvez créer des listes de mots vides supplémentaires, si besoin est.

Pour permettre l'écriture de requêtes de texte intégral, SQL Server fournit un jeu de prédicats de texte intégral (CONTAINS et FREETEXT) et de fonctions d'ensemble de lignes (CONTAINSTABLE et FREETEXTTABLE). Grâce à ces éléments, les applications et les utilisateurs peuvent effectuer divers types de recherche en texte intégral. Par exemple, ils peuvent rechercher un mot ou une expression unique (et, le cas échéant, classer le jeu de résultats), rechercher un mot ou une expression proches d'un autre mot ou d'une autre expression, ou rechercher les formes synonymes d'un mot spécifique.

[!REMARQUE]

La recherche en texte intégral est un composant facultatif du Moteur de base de données SQL Server. Pour plus d'informations, consultez Installation de SQL Server 2008.

Dans cette section