简介: Microsoft SQL Server 7.0 版引入了支持对 SQL Server 中的数据以及对文件系统中的数据进行文本查询的功能。本文档介绍对文件系统中的数据所进行的搜索。
作者:Margaret Li 和 Frank Pellow
摘要
Microsoft SQL Server 7.0 版引入了支持对 SQL Server 中的数据以及对文件系统中的数据进行文本查询的功能。本文档介绍对文件系统中的数据所进行的搜索。多个产品和功能被集成在一起来支持该功能,包括 SQL Server 分布式查询、Windows NT Server 内置的 Web 服务器、Microsoft Internet 信息服务 (IIS) 4.0 版和 Microsoft 索引服务 2.0 版。本文档面向那些熟悉 SQL Server 但不一定熟悉其文本检索功能和产品的读者。有关针对驻留在 SQL Server 中的数据进行文本检索支持的详细信息,参见“支持全文检索的 SQL Server 扩展”(文档编号 098- 80764)。
本文档介绍了 SQL Server 支持的文本检索的类型,并阐述了 IIS 和索引服务技术所担当的角色。还介绍了 SQL Server 分布式查询及其在处理文本检索中的用途。本文还回答了当文件系统中没有表时如何对文件系统编写 SQL 查询的问题。最后,介绍支持全文查询的 SQL 扩展,还提供了一些示例,包括将文件数据与数据库数据合并的举例。
本文档概述了如何将文件数据与 SQL 查询合并,以及 SQL Server 和其它软件的各种组件如何相互作用以支持这些查询。
引言
所储存的数字信息很大一部分采用非结构化数据的形式(主要是文本形式)储存在文件系统中。这种数据常常与数据库内的数据相关,许多情况下要求支持包含两种源的搜索。但是,这种数据常常不宜导入文件系统。SQL Server 7.0 分布式查询配以 SQL 语言的扩展,使在没有数据的情况下编写此类查询成为可能。这种功能称为“文件内容搜索”。
文本检索有两种主要类型:
属性搜索
这种搜索技术首先对文档应用筛选以提取各种属性,如作者、主题、类型、字数、打印的页数和最后一次写入的时间,然后针对那些属性进行搜索。
全文检索
这项检索技术首先创建文档的所有非干扰词的索引,然后使用这些索引来支持语言搜索和近似搜索。
文件内容搜索支持这两种类型的文本检索,并为其提供功能,以便将这样的搜索合并进包括针对数据库数据进行关系运算的查询中。例如,下面的搜索选择驱动器 D 中所有包含与“text”最接近的短语“SQL Server”的 Microsoft Word 文件的名称、大小和作者。然后将此结果与 writers 表结合来获取作者的国籍。
SELECT Q.FileName, Q.Size, Q.DocAuthor, W.Citizenship
FROM OpenQuery(MyLinkedServer,
'SELECT FileName, Size, DocAuthor
FROM SCOPE('' "D:" '')
WHERE CONTAINS(''"SQL Server"
NEAR() text'')
AND FileName LIKE ''%.doc%'' '
) AS Q,
writers AS W
WHERE Q.DocAuthor = W.writer_name
文件内容搜索依赖于用于索引服务的 Microsoft OLE DB 提供程序。它还依赖索引服务来支持基础的筛选和全文索引。
注意:对于独立于 SQL Server 的文件系统中的数据,OLE DB 提供程序使索引服务 2.0 能够支持进行 SQL 查询。支持此类查询的对 SQL 语言的核心扩展在索引服务和 SQL Server 中是相同的。
本文档有以下几个目标:
阐述 IIS 4.0、索引服务 2.0 和 SQL Server 7.0 在支持文件内容搜索方面的用途
介绍 SQL 语言扩展对文件数据进行文本检索的支持
介绍一些示例查询以鼓励您开始使用文本检索
本文档中只介绍了很少一部分支持产品中所提供的功能,并且甚至在讨论一个功能时,对其许多选项都没有进行讨论。有关详细信息,请参见 Windows NT Server 文档中的 SQL Server 文档和索引服务主题。