全文索引是一种特殊类型的基于标记的功能性索引,由 Microsoft SQL Server 全文引擎 (MSFTESQL) 服务创建和维护。创建全文索引的过程与创建其他类型的索引的过程差别很大。MSFTESQL 不是基于某一特定行中存储的值来构造 B 树结构,而是基于要索引的文本中的各个标记来创建倒排、堆积且压缩的索引结构。
使用全文搜索可以快速、灵活地为存储在 Microsoft SQL Server 数据库中的文本数据的基于关键字的查询创建索引。与仅适用于字符模式的 LIKE 谓词不同,全文查询将根据特定语言的规则对词和短语进行操作,从而针对此数据执行语言搜索。
可以对包含 char、varchar 和 nvarchar 数据的列创建全文索引。也可以对包含格式化二进制数据(如存储在 varbinary(max) 或 image 列中的 Microsoft Word 文档)的列创建全文索引。不能使用 LIKE 谓词来查询格式化的二进制数据。
简单介绍全文索引的语法及其性质。
随便创建一个表Stu
create table Stu
(StuID int not null,
StuName varchar(20) not null,
)
那么在创建完表以后,我们就可以创建全文索引了。
具体步骤如下:
首先创建一个全文索引目录:
CREATE FULLTEXT CATALOG StudentIndex
创建后放在数据库创建时,指定默认的位置。
在创建全文索引之前,需要检查一下表中是否存在唯一的且针对单列的非空索引,如果没有,则建立,本表没有。
CREATE UNIQUE INDEX INDEX_STU ON Stu(StuID).
在拥有唯一非空索引之后,就可以创建全局索引了。
CREATE FULLTEXT INDEX ON STU(
STUNAME VARCHAR(20) ON LANGUANGE 0X0
)
指定填充方式,就可以进行操作,下篇会学习填充方式以及使用全文索引