配置和管理搜索筛选器

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

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

二进制文档可以存储在单个 varbinary(max) 或 image 列中。 对于每个文档,SQL Server 根据文件扩展名来选择正确的筛选器。 由于当文件存储在 varbinary(max) 或 image 列中时其文件扩展名不可见,因此文件扩展名(.doc、.xls、.pdf 等等)必须存储在表内一个单独的列中,该列称为类型列。 此类型列可以是任意基于字符的数据类型,并且包含文档文件扩展名,例如 .doc 表示 Microsoft Word 文档。 在 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 功能的兼容性