T-SQL学习记录:全文索引

浏览: 1280

第一步:创建teacher表

create table teacher
(teacherid int CONSTRAINT [PK_teacher] PRIMARY KEY CLUSTERED,
tname varchar(10),
taddress nvarchar(80)
)

第二步:插入数据

 insert teacher values (1,'张本辉','广东省深圳市罗湖区国威路119号罗湖区残疾人综合服务中心1栋6楼607')
insert teacher values (2,'刘波','安徽省合肥市经济技术开发区始信路62号(合肥美侨公司)')
insert teacher values (3,'王辛培','北京市海淀区北京上地东路9号得实大厦4楼南区北京市万步健康科技有限公司')
insert teacher values (4,'叶坚勋','北京市海淀区上地信息路甲28号科实大厦B座')
insert teacher values (5,'张新','广东省广州市天河珠江新城华利路61号政务中心4楼')
insert teacher values (6,'许平','广东省广州市番禺区钟村镇市广路钟三路段9号广州敏捷投资有限公司总裁办IT信息部')
insert teacher values (7,'缪烨','上海市普陀区丹巴路28弄21号5楼 上海风格服饰有限公司')

第三步:定义全文索引(注:全文索引必须要有唯一索引列)


常规属性截图:


属性含义:

(1)可用列:可进行全文索引的列,可选择定义

(2)跟踪更改:自动代表数据每次有变化(新增修改删除)时自动更新全文索引

第四步:使用全文索引进行数据查找

(1)select * from dbo.teacher where contains (*,'海淀钟村镇')

结果为空集,contains查找方式下,'海淀钟村镇'必须为连续字符串。

(2)select * from dbo.teacher where freetext (*,'海淀钟村镇')

结果为:

3 王辛培 北京市海淀区北京上地东路9号得实大厦4楼南区北京市万步健康科技有限公司

4 叶坚勋 北京市海淀区上地信息路甲28号科实大厦B座

6 许平     广东省广州市番禺区钟村镇市广路钟三路段9号广州敏捷投资有限公司总裁办IT信息部

freetext查找方式下,'海淀钟村镇'按照一定分词方式拆分。

(3)比较如下两个结果的不同:


个人理解SQL Server的全文索引也是有分词的,未研究过。


从未在实际项目中使用过,作为学习记录。

推荐 1
本文由 choc 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册