Filtros de búsqueda de texto completo

Indizar los documentos de una columna de los tipos de datos varbinary, varbinary(max), image o xml requiere 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.

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 de acuerdo con 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 debe ser de cualquier tipo de datos basado en caracteres y debe contener la extensión del archivo, como .doc para los documentos de Microsoft Word. En la tabla Document en Adventure Works, la columna Document es de tipo varbinary(max) y la columna FileExtension es de tipo nvarchar(8).

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 los filtros para seguir los vínculos a otros objetos.

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

EXEC sp_help_fulltext_system_components 'filter'; 

Sin embargo, para poder usar filtros para formatos que no son Microsoft, debe cargarlos manualmente en la instancia del servidor. Para obtener información acerca de cómo instalar filtros adicionales, vea Cómo modificar la lista de filtros y separadores de palabras registrados (Transact-SQL).

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