1.全文检索(Full-Text Indexes)可以对varchar,text,image型字段进行检索,但一个表最多只能建一个全文索引
2.如果使用传统的模糊搜索会降低数据库的性能,选择全文索引来解决是比较好的方法!
(1)打开全文索引支持,启动SQL Server的全文搜索服务
use 数据库名字
go
execute sp_fulltext_database 'enable'
(2)建表和初始化数据(说明:测试数据库名称为:myDBTest,测试表名称为:My_FullText)
CREATE TABLE My_FullText(
ID [int] IDENTITY(1,1) NOT NULL,
MyText [varchar](256) NOT NULL
)
GO
--全文索引不能建立在视图上,只能建立在有唯一索引的基础表上。
alter table dbo.My_FullText
add constraint pk_FullText primary key (ID)
Go
注意:如果不能创建全文索引,有可能是缺乏某些组件,需要下载补丁:
(4)测试全文索引(全文索引查询使用contains和Freetext进行查询)
select * from dbo.My_FullText where contains(MyText,'c')
结果为空。而事实上记录中有包含“C”的却搜索不出来,因为默认的断词语言是简体中文,所以英文搜索不出来!
select * from dbo.My_FullText where contains(MyText,'汽车')
(个人学习体会,如果有什么意见,请踊跃提出!谢谢!如果要转载,请通知本人:http://www.cnblogs.com/ITGirl00)
1.全文检索(Full-Text Indexes)可以对varchar,text,image型字段进行检索,但一个表最多只能建一个全文索引
go
execute sp_fulltext_database 'enable'
ID [int] IDENTITY(1,1) NOT NULL,
MyText [varchar](256) NOT NULL
)
GO
add constraint pk_FullText primary key (ID)
Go