Filtri di ricerca full-text

L'indicizzazione di documenti in una colonna del tipo di dati varbinary, varbinary(max), image o xml richiede operazioni di elaborazione aggiuntive che devono essere eseguite mediante un filtro. Il filtro estrae le informazioni testuali dal documento rimuovendo la formattazione, quindi invia il testo al word breaker per la lingua associata alla colonna della tabella.

Un determinato filtro è specifico di un determinato tipo di documento (file con estensione doc, pdf, xls, xml e così via). Questi filtri implementano l'interfaccia IFilter. Per ulteriori informazioni su questi tipi di documento, eseguire una query nella vista del catalogo sys.fulltext_document_types.

I documenti binari possono essere archiviati in una singola colonna varbinary(max) o image. Per ogni documento, SQL Server sceglie il filtro corretto da utilizzare in base all'estensione file. Poiché l'estensione non è visibile quando il file viene archiviato in una colonna varbinary(max) o image, l'estensione file (doc, docx, xls, xlsx, pdf e così via) deve essere archiviata in una colonna distinta della tabella, denominata colonna del tipo. Questa colonna può includere qualsiasi tipo di dati basato su caratteri e contiene l'estensione file del documento, ad esempio l'estensione doc per un documento di Microsoft Word. Nella tabella Document di Adventure Works la colonna Document è di tipo varbinary(max), mentre la colonna del tipo, FileExtension, è di tipo nvarchar(8).

Nota

Un filtro potrebbe essere in grado di gestire gli oggetti incorporati nell'oggetto padre, a seconda della relativa implementazione. In SQL Server, tuttavia, i filtri non vengono configurati per seguire collegamenti ad altri oggetti.

Tramite SQL Server 2008 vengono installati filtri XML e HTML specifici. Vengono inoltre caricati da SQL Server tutti i filtri per i formati proprietari Microsoft (con estensione doc, xdoc, ppt e così via) già installati nel sistema operativo. Per identificare i filtri attualmente caricati in un'istanza di SQL Server, utilizzare la stored procedure sp_help_fulltext_system_components nel modo seguente:

EXEC sp_help_fulltext_system_components 'filter'; 

Per poter utilizzare i filtri per formati non Microsoft, è tuttavia necessario caricarli manualmente nell'istanza del server. Per informazioni sull'installazione di filtri aggiuntivi vedere Procedura: Modifica dell'elenco di word breaker e filtri registrati (Transact-SQL).

Per visualizzare la colonna del tipo in un indice full-text esistente