全文搜索筛选器
当 varbinary(max) 或 image 列中的单元包含带有支持的文档文件扩展名的文档时,全文搜索将使用筛选器来解释二进制数据。筛选器(实现了 iFilter 接口)会从文档中提取文本化信息并将其提交用于建立索引。若要标识 SQL Server 实例中包括的筛选器,请使用 sp_help_fulltext_system_components (Transact-SQL) 存储过程,该过程将返回已注册的断字符、筛选器和协议处理程序的信息。
许多文档类型可以存储在单个 varbinary(max) 或 image 列中。对于每个文档,SQL Server 根据文件扩展名来选择正确的筛选器。由于当文件存储在 varbinary(max) 或 image 列中时其文件扩展名不可见,因此文件扩展名必须存储在表内一个单独的列中,该列称为类型列。此类型列可以是任意基于字符的数据类型,并且包含文档文件扩展名,例如 .doc 表示 Microsoft Word 文档。在 Adventure Works 的 Document 表中,Document 列的类型为 varbinary(max),而 FileExtension 列的类型为 nvarchar(8)。有关此表的架构的详细信息,请参阅 Document 表 (AdventureWorks)。
对 varbinary(max) 或 image 列创建全文索引时,必须指定相应的类型列(其中包含扩展名信息),使 SQL Server 知道使用哪一个筛选器。可以使用 sys.fulltext_index_columns 目录视图找到全文索引列及其相关类型列的 ID。
对 varbinary(max) 或 image 列创建全文索引之后,可以使用搜索谓词 CONTAINS 和 FREETEXT 来查询该列。
注意: |
---|
筛选器有可能能够处理嵌入到父对象中的对象,具体取决于筛选器的实现方式。SQL Server 不会将筛选器配置为跟踪指向其他对象的链接。 |
请参阅
概念
其他资源
sys.fulltext_index_columns (Transact-SQL)