解析:教你轻松掌握文件数据的全文查询
Microsoft® SQL Server™ 不仅支持对 SQL Server 数据进行文本化查询,还支持对驻留在文件系统中的数据进行文本化查询。支持此功能的产品和特性包括 SQL Server 分布式查询、Microsoft Internet 信息服务 4.0 和 Microsoft 索引服务 2.0。
数字化存储的信息有很大一部分仍然是以非结构化数据的形式(主要是文本)存储在文件系统中。这些信息经常与数据库中的数据相关,这就要求对这两个数据源都进行查询。但是,从文件系统导入这些数据常常是不可行的。结合了 SQL 语言扩充的分布式查询使得编写这种没有数据的查询成为可能。这称为文件内容检索。
有两种主要的文本查询:
◆属性检索
对文档应用筛选来析取属性,如作者、主题、类型、字数、打印的页数以及最后编写的时间,然后对这些属性进行查询。
◆全文检索
创建文档中所有非干扰词的索引,然后使用这些索引支持语言检索和邻近检索。
例如,下面的查询在 D 驱动器上选择包含与文本邻近的"SQL Server"短语的所有 Microsoft Word 文件的名称、大小和作者。然后,它将此与作者表联接起来,以获得作者的国籍。
SELECT Q.FileName, Q.Size, Q.DocAuthor, W.Citizens7hip FROM OpenQuery(MyLinkedServer, 'SELECT FileName, Size, DocAuthorFROM SCOPE('' "D:/" '')WHERE CONTAINS(''"SQL Server"NEAR() text'')AND FileName LIKE ''%.doc%'' ') > 0 AS Q,writers AS WWHERE Q.DocAuthor = W.writer_name |
文件内容检索依赖于用于 Microsoft 索引服务 2.0 的 Microsoft OLE DB 提供程序。它还依赖于索引服务支持基础筛选和全文索引。
用于 Microsoft 索引服务 2.0 的 Microsoft OLE DB 提供程序具有对独立于 SQL Server 的文件系统中的数据进行 SQL 查询的支持能力。为支持这种查询而对 SQL 语言进行的核心扩充在两个产品中是一样的。但是,有一些扩充与索引服务2.0 无关。