配置和管理搜索筛选器

varbinaryvarbinary(max)imagexml 数据类型的文档建立索引需要进行额外处理。 该处理必须由筛选器执行。 筛选器从文档中提取文本信息(去除格式)。 然后,筛选器将这些文本发送至与表列相关联的语言的断字器组件。

给定筛选器特定于给定文档类型(.doc、.pdf、.xls、.xml 等等)。 这些筛选器实现 IFilter 接口。 有关这些文档类型的详细信息,请查询 sys.fulltext_document_types 目录视图。

二进制文档可以存储在单个 varbinary(max)image 列中。 对于每个文档,SQL Server根据文件扩展名选择正确的筛选器。 由于文件扩展名在文件存储在 varbinary(max)image 列中时不可见,因此文件扩展名 (.doc、.xls、.pdf等) 必须存储在表中的单独列(称为类型列)中。 此类型列可以是任何基于字符的数据类型,并且包含文档文件扩展名,例如 Microsoft Word 文档的.doc。 在 Adventure Works 的 Document 表中, Document 列的类型为 varbinary(max),类型列 FileExtension 的类型 nvarchar(8)为 。

注意

筛选器有可能能够处理嵌入到父对象中的对象,具体取决于筛选器的实现方式。 但是,SQL Server不会将筛选器配置为跟踪指向其他对象的链接。

SQL Server安装自己的 XML 和 HTML 筛选器。 此外,操作系统上安装的 Microsoft 专有格式 (.doc、.xdoc、.ppt 等) 的任何筛选器也由 SQL Server 加载。 若要标识当前加载到 SQL Server 实例上的筛选器,请使用 sp_help_fulltext_system_components 存储过程,如下所示:

EXEC sp_help_fulltext_system_components 'filter';   

但是,必须先手动将其加载到服务器实例中,然后才能对非 Microsoft 格式使用筛选器。 有关安装其他筛选器的信息,请参阅 查看或更改注册的筛选器和断字符

查看现有全文索引中的类型列

另请参阅

sys.fulltext_index_columns (Transact-SQL)
FILESTREAM 与其他 SQL Server 功能的兼容性