Mise en route avec la recherche de texte intégral

Mis à jour : 17 juillet 2006

L'indexation de texte intégral sur une table dans Microsoft SQL Server 2005 est un processus de création en deux étapes :

  1. Créez un catalogue de texte intégral pour stocker les index de texte intégral.
  2. Créez les index de texte intégral.
ms142497.note(fr-fr,SQL.90).gifRemarque :
Par défaut, les bases de données dans SQL Server sont activées pour le texte intégral, sauf si elles sont créées à l'aide de SQL Server Management Studio. Pour activer la recherche de texte intégral dans une base de données lorsque vous créez une base de données avec Management Studio, consultez Procédure : créer une base de données (SQL Server Management Studio). Pour activer la recherche de texte intégral pour une base de données existante, consultez Procédure : activer une base de données pour l'indexation de texte intégral (SQL Server Management Studio).
ms142497.note(fr-fr,SQL.90).gifRemarque :
Vous pouvez également créer des index de texte intégral sur les vues indexées. Pour plus d'informations sur les vues indexées, consultez Types de vues.

Création d'une recherche de texte intégral dans AdventureWorks

L'exemple suivant décrit la création d'un index de texte intégral sur la table Document dans AdventureWorks.

Pour créer un catalogue de texte intégral appelé AdvWksDocFTCat, utilisez l'instruction CREATE FULLTEXT CATALOG :

CREATE FULLTEXT CATALOG AdvWksDocFTCat

Cette instruction permet de créer le catalogue de texte intégral dans le répertoire par défaut spécifié durant l'installation. Le dossier nommé AdvWksDocFTCat se trouve dans le répertoire par défaut.

ms142497.note(fr-fr,SQL.90).gifRemarque :
Pour spécifier l'emplacement du répertoire, utilisez la clause IN PATH. Pour plus d'informations, consultez CREATE FULLTEXT CATALOG (Transact-SQL).

Une autre solution consiste à créer un catalogue de texte intégral à l'aide de Management Studio. Dans l'Explorateur d'objets, sous la base de données dans laquelle vous souhaitez créer le catalogue de texte intégral, développez le dossier Stockage, cliquez avec le bouton droit sur le dossier Catalogues de texte intégral, puis cliquez sur Nouveau catalogue de texte intégral. Pour plus d'informations, consultez Nouveau catalogue de texte intégral (page Général).

Les ID de catalogues de texte intégral commencent à 00005 et sont incrémentés d'une unité à chaque fois qu'un catalogue est créé.

Il est recommandé, dans la mesure du possible, de créer les catalogues de texte intégral sur leurs propres lecteurs physiques. La création d'un index de texte intégral est une opération assez intensive en matière d'entrées/sorties (à haut niveau, elle consiste à lire les données de SQL Server, puis à écrire l'index sur le système de fichiers) ; par conséquent, vous préférez probablement éviter que votre sous-système d'E/S devienne un goulet d'étranglement.

Une fois le catalogue de texte intégral créé, la prochaine étape consiste à créer un index de texte intégral. Toutefois, avant de pouvoir créer un index de texte intégral sur la table Document, vous devez déterminer si celle-ci dispose d'un index unique qui n'accepte pas les valeurs NULL et ne comporte qu'une seule colonne. Le service du moteur de texte intégral Microsoft pour SQL Server (MSFTESQL) utilise cet index unique pour mapper chaque ligne de la table à une clé compressible unique.

Pour créer un index unique n'acceptant pas de valeurs NULL et ne comportant qu'une seule colonne, exécutez l'instruction suivante :

CREATE UNIQUE INDEX ui_ukDoc ON Production.Document(DocumentID)
ms142497.note(fr-fr,SQL.90).gifRemarque :
La table Document dispose déjà de ce type de colonne. Le code présenté précédemment est fourni à titre de démonstration uniquement.

À présent que vous disposez d'une clé unique, vous pouvez créer un index de texte intégral sur la table Document.

CREATE FULLTEXT INDEX ON Production.Document
(
    Document                         --Full-text index column name 
        TYPE COLUMN FileExtension    --Name of column that contains file type information
        Language 0X0                 --0X0 is LCID for neutral language
)
KEY INDEX ui_ukDoc ON AdvWksDocFTCat --Unique index
WITH CHANGE_TRACKING AUTO            --Population type
GO

Vous pouvez également créer un index de texte intégral par le biais de l'Assistant Indexation de texte intégral. Pour plus d'informations, consultez Procédure : démarrer l'Assistant Indexation de texte intégral (SQL Server Management Studio).

Pour plus d'informations sur les éléments à prendre en considération lors du choix de la langue de la colonne, consultez Considérations internationales relatives à la recherche de texte intégral.

Pour analyser l'état du remplissage, utilisez les fonctions FULLTEXTCATALOGPROPERTY ou OBJECTPROPERTYEX. Pour obtenir l'état du remplissage du catalogue, exécutez l'instruction suivante :

SELECT FULLTEXTCATALOGPROPERTY('AdvWksDocFTCat', 'Populatestatus')

En règle générale, si un remplissage complet est en cours, le résultat retourné est 1.

Voir aussi

Autres ressources

FULLTEXTCATALOGPROPERTY (Transact-SQL)
OBJECTPROPERTYEX (Transact-SQL)
CREATE FULLTEXT CATALOG (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

17 juillet 2006

Nouveau contenu :
  • Ajout d'une remarque indiquant que lorsque les bases de données sont créées à l'aide de Management Studio, elles ne sont pas activées par défaut pour l'indexation de texte intégral.