天天看点

SqlServer2008实例32全文索引和全文目录之创建全文目录-

    全文搜索功能提供了基于字符和二进制数据的智能单词(和短语)搜索,使用全文搜索的执行效率会比普通的LIKE查询好很多。

    现在在SQL Server 2008中,全文搜索功能集成到数据库中了。全文目录不再单独存储在文件系统中,现在也集成到了数据库本身当中。全文索引和查询支持功能也不再依赖于SQL Server早期版本中的分离的MSFTESQL服务。

    SQL Server 2008也在数据库中全面集成非索引字(以前称为干扰词),允许创建自己的非索引字表和相关非索引字。早期版本在数据库外部使用干扰词文件。

    全文索引(full-text index)能让我们更灵活地搜索非结构化的文本数据,并且提供了比LIKE查询好很多的性能。与普通的B树聚集索引或非聚集索引不同的是。全文索引是由文本数据的索引标记组成的压缩的索引结构。标记是SQL Server在索引过程中标识的单词或字符串。使用特殊的全文搜索功能可以在字符模式之上扩展单词或短语搜索,并基于其他单词的变形词、同义词、通配符和近义词进行搜索。

    全文目录可以不包含全文索引,也可以包含数量不等的全文索引,从SQL Server 2008开始,全文目录存储在数据库中。(在早期的版本中,它存储在SQL Server实例服务器的本地硬盘上。)全文目录可包含用于在单个数据库内索引一个或多个表的全文索引。 

    SQL Server使用几个T-SQL命令来创建、修改和移除全文目录和全文索引对象。

    创建全文目录的最简单形式是只提供全文目录的名字。然而还有其他一些选项,CREATE FULLTEXT CATALOG的扩展语法如下:

CREATE FULLTEXT CATALOG catalog_name
      [ON FILEGROUP 'filegroup']
      [IN PATH 'rootpath']
      [WITH ACCENT_SENSITIVITY = {Oh | OFF}]
      [AS DEFAULT]
      [AUTHORIZATION owner_name]

           

                   CREATE FULLTEXT CATALOG参数

描  述 参  数
catalog_name 这个选项指定了新的全文日录的名称
filegroup 这个参数指定全文目录存放的文件组。如果未指定,将使用数据库默认的文件组
rootpath 这是SQL Server 2008中废弃的选项.已不再使用
ACCENT_SENSITIVITY = {Oh | OFF} 此选项用于选择在此全文日录中创建全文索引是否区分重音.ACCENT_SENSITIVITY定义了SQL Senrer是否区分重音字符和非重音字符
AS DEFAULT 此选项将该全文目录定义为默认全文目录,在数据库中创建的、来显式指定全文日录的全文索引将使用该令文目录
owner_name AUTHORIZATION选项决定了新的全文目录的所有者.可以选择一个数据库用户或者是角色作为owner_ narne

  例如,在AdventureWorks数据库中创建了一个新的全文目录(注意,一个全文目录只能属于一个数据库):

USE AdventureWorks
GO

CREATE FULLTEXT CATALOG cat_Production_Document
           

建立一个区分重音的全文目录:

USE AdventureWorks
GO

CREATE FULLTEXT CATALOG cat_Production_Document_Ex2
WITH ACCENT_SENSITIVITY = ON
           

  全文目录创建后,可以在它下面创建全文索引。