Filtres de recherche en texte intégral
Lorsqu'une cellule d'une colonne varbinary(max) ou image contient un document doté d'une certaine extension de fichier, la recherche en texte intégral utilise un filtre pour interpréter les données binaires. Le filtre, qui implémente l'interface iFilter, extrait les informations textuelles du document et les soumet en vue de leur indexation. Pour identifier les filtres inclus dans une instance de SQL Server, utilisez la procédure stockée sp_help_fulltext_system_components (Transact-SQL), qui retourne des informations pour les analyseurs lexicaux de texte intégral, le filtre et les gestionnaires de protocoles inscrits.
De nombreux types de documents peuvent être stockés dans une même colonne varbinary(max) ou image. Pour chaque document, SQL Server choisit le filtre correct en fonction de l'extension de fichier. Étant donné que cette dernière n'est pas visible lorsque le fichier est stocké dans une colonne varbinary(max) ou image, elle doit figurer dans une autre colonne de la table, que l'on nomme colonne de type. Cette colonne de type peut être composée de n'importe quel type de données de caractères ; par ailleurs, elle contient l'extension de fichier du document, par exemple « .doc » pour un document Microsoft Word. Dans la table Document contenue dans Adventure Works, la colonne Document est de type varbinary(max) alors que la colonne FileExtension est de type nvarchar(8). Pour plus d'informations sur le schéma de cette table, consultez Table Document (AdventureWorks).
Lors de la création d'un index de texte intégral sur une colonne varbinary(max) ou image, vous devez identifier une colonne de type correspondant qui possède les mêmes informations sur l'extension afin que SQL Server sache quel filtre utiliser. Les ID de la colonne indexée en texte intégral et de sa colonne de type associée peuvent être trouvés à l'aide de l'affichage catalogue sys.fulltext_index_columns.
Une fois la colonne varbinary(max) ou image indexée, elle peut être interrogée via les prédicats de recherche CONTAINS et FREETEXT.
Remarque : |
---|
Un filtre peut gérer les objets incorporés dans l'objet parent, en fonction de son implémentation. SQL Server ne configure pas de filtres permettant de suivre des liens vers d'autres objets. |
Voir aussi
Concepts
Principes de base de la recherche de texte intégral
Autres ressources
sys.fulltext_index_columns (Transact-SQL)