Compartilhar via


Filtros da pesquisa de texto completo

A indexação de documentos em uma coluna de tipo de dados varbinary, varbinary(max), image ou xml requer processamento extra. Esse processamento deve ser realizado por um filtro. O filtro extrai as informações textuais do documento (removendo a formatação). Em seguida, o filtro envia o texto para o componente separador de palavras do idioma associado à coluna da tabela.

Um determinado filtro é específico a um determinado tipo de documento (.doc, .pdf, .xls, .xml e assim por diante). Estes filtros implementam a interface IFilter. Para obter mais informações sobre estes tipos de documento, consulte a exibição do catálogo sys.fulltext_document_types.

É possível armazenar documentos binários em uma única coluna varbinary(max) ou image. Para cada documento, o SQL Server escolhe o filtro correto com base na extensão de arquivo. Como a extensão de arquivo não é visível quando o arquivo é armazenado em uma coluna varbinary(max) ou image, a extensão de arquivo (.doc, .xls, .pdf e assim por diante) deve ser armazenada em outra coluna da tabela, chamada de coluna de tipo. Essa coluna de tipo pode ser do tipo de dados com base em quaisquer caracteres e contém a extensão do arquivo de documento, como .doc para um documento do Microsoft Word. Na tabela Document de Adventure Works, a coluna Document é do tipo varbinary(max) e a coluna de tipo FileExtension é do tipo nvarchar(8).

ObservaçãoObservação

É possível que um filtro consiga processar objetos incorporados ao objeto pai, dependendo da sua implementação. No entanto o SQL Server não configura filtros para seguir links para outros objetos.

O SQL Server 2008 instala seus próprios filtros XML e HTML. Além disso, qualquer filtro de formatos proprietários do Microsoft (.doc, .xdoc, .ppt e assim por diante) que já esteja instalado no sistema operacional também é carregado pelo SQL Server. Para identificar os filtros que estão carregados atualmente em uma instância do SQL Server, use o procedimento armazenado sp_help_fulltext_system_components, da seguinte maneira:

EXEC sp_help_fulltext_system_components 'filter'; 

Para que seja possível usar filtros para formatos que não são do Microsoft, no entanto, você deve carregá-los manualmente na instância de servidor. Para obter informações sobre como instalar filtros adicionais, consulte Como alterar a lista de separadores de palavras e filtros registrados (Transact-SQL).

Para exibir a coluna de tipo em um índice de texto completo existente