Configurer et gérer des filtres pour la recherche

S’applique à :SQL ServerAzure SQL Database

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.

Filtres et types de documents

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 . Pour chaque document, SQL Server choisit le filtre approprié 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 de n’importe quel type de données basé sur des caractères et contient l’extension de fichier de document, telle que .doc pour un document Microsoft Word. Dans la table Document dans Adventure Works, la colonne Document est de type varbinary(max), et la colonne de type, FileExtension, est de type nvarchar(8).

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

Note

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 les filtres pour suivre les liens vers d’autres objets.

Filtres installés

SQL Server installe ses propres filtres XML et HTML. En outre, tous les filtres pour les formats propriétaires Microsoft (.doc, .xdoc, .ppt, et ainsi de suite) 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';   

Note

Même avec la dernière version d’Office Filter Pack qui prend en charge le format .xlsx, SQL Server ne prend pas en charge les feuilles de calcul Open XML strict. Aucune erreur ne s’affichera, mais SQL Server ne parviendra pas à indexer le contenu des feuilles de calcul Open XML strict.

Filtres non-Microsoft

Avant de pouvoir utiliser des filtres pour les formats non Microsoft, vous devez toutefois 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.

Voir aussi

sys.fulltext_index_columns (Transact-SQL)
Compatibilité de FILESTREAM avec d’autres fonctionnalités SQL Server