Configurar y administrar filtros para búsquedas

Se aplica a:SQL ServerAzure SQL Database

La indexación de documentos en una columna de tipo de datos varbinary, varbinary(max), image, o xml exige un procesamiento adicional. Un filtro debe realizar este procesamiento. El filtro extrae la información de texto del documento y quita el formato. A continuación, el filtro envía el texto al componente separador de palabras correspondiente al idioma asociado a la columna de la tabla.

Tipos de documento y filtro

Un filtro determinado es específico de un tipo de documento concreto (.doc, .pdf, .xls, .xml, etc.). Estos filtros implementan la interfaz IFilter. Para obtener más información de estos tipos de documento, consulte la vista de catálogo sys.fulltext_document_types .

Los documentos binarios se pueden almacenar en una sola columna de tipo varbinary(max) o image . Para cada documento, SQL Server elige el filtro correcto en función de la extensión de archivo. Dado que la extensión de archivo no está visible cuando el archivo se almacena en una columna de tipo varbinary(max) o image , la extensión de archivo (.doc, .xls, .pdf, etcétera) debe almacenarse en una columna independiente de la tabla, denominada columna de tipo. Esta columna de tipo puede ser de cualquier tipo de datos basado en caracteres y contiene la extensión de archivo de documento, como .doc para un documento de Microsoft Word. En la tabla Document de Adventure Works, la columna Document es de tipo varbinary(max) y la columna de tipo ,FileExtension, es de tipo nvarchar(8).

Para ver la columna de tipo en un índice de texto completo existente

Nota:

Un filtro podría ser capaz de tratar los incrustados en el objeto primario, dependiendo de su implementación. Sin embargo, SQL Server no configura filtros para seguir vínculos a otros objetos.

Filtros instalados

SQL Server instala sus propios filtros XML y HTML. Además, los filtros de los formatos propietarios de Microsoft (.doc, .xdoc, .ppt, etc.) que ya están instalados en el sistema operativo también se cargan mediante SQL Server. Para identificar los filtros que se cargan actualmente en una instancia de SQL Server, use el procedimiento almacenado sp_help_fulltext_system_components, como se indica a continuación:

EXEC sp_help_fulltext_system_components 'filter';   

Nota:

Incluso con la versión más reciente del módulo Filter Pack de Office que proporciona compatibilidad con .xlsx, SQL Server no admite hojas de cálculo Strict Open XML. No se devolverá ningún error, simplemente se producirá un error en SQL Server al indexar el contenido de cualquier hoja de cálculo Strict Open XML.

Filtros que no son de Microsoft

Sin embargo, para poder usar filtros para formatos que no son de Microsoft, debe cargarlos manualmente en la instancia del servidor. Para obtener información sobre cómo instalar filtros adicionales, vea Ver o cambiar los filtros y separadores de palabras registrados.

Consulte también

sys.fulltext_index_columns (Transact-SQL)
Compatibilidad de FILESTREAM con otras características de SQL Server