Configurer et gérer des filtres pour la recherche

L'indexation de documents dans une colonne de type de données varbinary, varbinary(max), image ou xml nécessite un traitement supplémentaire. Ce traitement doit être effectué par un filtre. Le filtre extrait les informations textuelles du document (en supprimant la mise en forme). Le filtre envoie ensuite le texte au composant d'analyseur lexical pour la langue associée à la colonne de table.

Un filtre donné est spécifique à un type de document donné (.doc, .pdf, .xls, .xml, etc.). Ces filtres implémentent l'interface IFilter. Pour plus d'informations sur ces types de document, interrogez l'affichage catalogue sys.fulltext_document_types.

Des documents binaires peuvent être stockés dans une colonne varbinary(max) ou image unique. Pour chaque document, SQL Server choisit le filtre correct en fonction de l'extension de fichier. Dans la mesure où cette dernière n'est pas visible lorsque le fichier est stocké dans une colonne varbinary(max) ou image, l'extension de fichier (.doc, .xls, .pdf, etc.) 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 de type FileExtension est de type nvarchar(8).

[!REMARQUE]

Un filtre peut être en mesure de gérer des objets incorporés dans l'objet parent, selon son implémentation. Toutefois, SQL Server ne configure pas de filtres pour suivre des liens vers d'autres objets.

SQL Server installe ses propres filtres XML et HTML. De plus, tous les filtres des formats propriétaires Microsoft (.doc, .xdoc, .ppt, etc.) qui sont déjà installés sur le système d'exploitation sont également chargés par SQL Server. Pour identifier les filtres actuellement chargés sur une instance de SQL Server, utilisez la procédure stockée sp_help_fulltext_system_components, comme suit :

EXEC sp_help_fulltext_system_components 'filter'; 

Toutefois, avant de pouvoir utiliser des filtres pour des formats non Microsoft, vous devez les charger manuellement dans l'instance de serveur. Pour plus d'informations sur l'installation de filtres supplémentaires, consultez Afficher ou modifier des filtres et des analyseurs lexicaux inscrits.

Pour voir la colonne de type dans un index de recherche en texte intégral existant

Voir aussi

Référence

sys.fulltext_index_columns (Transact-SQL)

Concepts

Compatibilité de FILESTREAM avec d'autres fonctionnalités SQL Server