Introduction à la recherche de texte intégral

La recherche de texte intégral permet d'effectuer une indexation rapide et flexible d'une requête par mot clé portant sur des données de texte stockées dans une base de données Microsoft SQL Server. Contrairement au prédicat LIKE, qui ne fonctionne que sur les modèles de caractères, les requêtes de texte intégral effectuent des recherches linguistiques sur ces données, en traitant les mots et les expressions à partir de règles spécifiques à une langue particulière.

Dans Microsoft SQL Server 2005, la recherche de texte intégral offre une fonctionnalité de recherche au niveau de l'entreprise. Des améliorations significatives en termes de performances, de gestion et de fonctionnalités permettent aux applications de toute taille de bénéficier de capacités de recherche exceptionnelles.

Le gain de performances lié à l'utilisation de la recherche de texte intégral est optimal lors de l'interrogation d'une grande quantité de données de texte non structurées. Une requête LIKE portant sur des millions de lignes de données de texte peut prendre plusieurs minutes pour retourner un résultat alors qu'une requête de texte intégral retourne en quelques secondes à peine le même résultat, en fonction du nombre de lignes retournées.

Vous pouvez créer des index de texte intégral sur les colonnes qui contiennent des données char, varchar et nvarchar. Il est également possible de créer des index de texte intégral sur les colonnes qui contiennent des données binaires mises en forme (par exemple des documents Microsoft Word) stockées dans une colonne varbinary(max) ou image. Vous ne pouvez pas utiliser le prédicat LIKE pour interroger des données binaires mises en forme.

Pour créer un index de texte intégral sur une table, cette dernière doit posséder une colonne d'index unique, qui n'accepte pas les valeurs NULL. Prenons l'exemple d'un index de texte intégral destiné à la table Document dans Adventure Works où la colonne DocumentID est la colonne de clé primaire. Un index de texte intégral indique que le mot « instructions » se trouve aux mots numéros 24 et 44 dans la colonne DocumentSummary pour la ligne associée à un DocumentID égal à 3. Cette structure d'index prend en charge une recherche efficace pour tous les éléments contenant des mots indexés ainsi que des opérations de recherche avancées, notamment les recherches d'expressions et les recherches de proximité. Pour plus d'informations, consultez Table Document (AdventureWorks).

Lors du traitement d'une requête de texte intégral, le moteur de recherche retourne à SQL Server les valeurs de clé des lignes qui correspondent aux critères de recherche. Si vous souhaitez utiliser une requête de texte intégral pour rechercher des documents contenant le mot « instructions », les valeurs de DocumentID égales à 3, 4, 6, 7 et 8 sont obtenues à partir de l'index de texte intégral. SQL Server utilise ensuite ces clés pour retourner les lignes correspondantes.

Voir aussi

Concepts

Principes de base de la recherche de texte intégral

Autres ressources

Améliorations apportées à la recherche de texte intégral
LIKE (Transact-SQL)
Concepts de la recherche de texte intégral

Aide et Informations

Assistance sur SQL Server 2005