当前位置: 代码迷 >> Sql Server >> [原创]SQL SERVER 2005/2008 全文索引介绍 (一),该怎么处理
  详细解决方案

[原创]SQL SERVER 2005/2008 全文索引介绍 (一),该怎么处理

热度:514   发布时间:2016-04-27 17:05:26.0
[原创]SQL SERVER 2005/2008 全文索引介绍 (一)
PS:最近在论坛上接连碰到有关SQL全文索引的提问,感觉有点代表性,特此准备写个系列文章,将我对SQL全文索引的理解与大家分享一下,欢迎各位批评指正。

在正式介绍SQL全文索引相关概念,先请各位跟着如下步骤实战一下:
SQL code
--新建一个测试数据库,并指定排序规则为Chinese_PRC_CI_ASCREATE DATABASE TESTFT COLLATE Chinese_PRC_CI_AS    GOUSE TESTFTGO--新建全文目录TestCL,并将其置为默认CREATE FULLTEXT CATALOG TestCL AS DEFAULT    GO--新建测试表CREATE TABLE TB        (    ID INT IDENTITY,    Title VARCHAR(100),    Body VARCHAR(1000),    CONSTRAINT PK_TB PRIMARY KEY CLUSTERED (ID))GO--在TB表的title和body列上创建全文索引CREATE FULLTEXT INDEX ON TB (Title,Body) KEY INDEX PK_TBGO--插入两行演示数据INSERT TB(Title,Body) VALUES('艺术家评选','苍井空和小泽玛利亚是深受人民群众喜爱的著名艺术家')INSERT TB(Title,Body) VALUES('给苍老师的一封信','宁夏固原有一位网友给敬爱的苍老师写了一封信')GO


OK,到目前为止,准备工作基本完成,下面开始查询
SQL code
--例1:SELECT * FROM TB WHERE CONTAINS(*,'小')/*ID          Title                          Body----------- ------------------------------ ------------------------------------------------------(0 行受影响)*/SELECT * FROM TB WHERE CONTAINS(*,'小泽')/*ID          Title                          Body----------- ------------------------------ ------------------------------------------------------1           艺术家评选                     苍井空和小泽玛利亚是深受人民群众喜爱的著名艺术家(1 行受影响)*/--例2:SELECT * FROM TB WHERE CONTAINS(*,'苍')/*ID          Title                          Body----------- ------------------------------ ------------------------------------------------------1           艺术家评选                     苍井空和小泽玛利亚是深受人民群众喜爱的著名艺术家(1 行受影响)*/SELECT * FROM TB WHERE CONTAINS(*,'苍老师')/*ID          Title                          Body----------- ------------------------------ ------------------------------------------------------2           给苍老师的一封信               宁夏固原有一位网友给敬爱的苍老师写了一封信(1 行受影响)*/


看着上面的查询结果,是不是很奇怪,这和我们的预期完全不一样嘛,怎么会这样呢?

《SQL SERVER 2005/2008 全文索引介绍 (一)》全文完,敬请期待《SQL SERVER 2005/2008 全文索引介绍 (二)》,呵呵!

------解决方案--------------------
广告位出租
------解决方案--------------------
皇族都已经双钻了?牛啊
------解决方案--------------------
我这也贴个 2000与2005的全文索引吧,共同探讨
------解决方案--------------------
全文索引对中文的支持累人
------解决方案--------------------
学习 ..盖章
------解决方案--------------------
学习,来过~~~~~~~~
------解决方案--------------------
4fv
------解决方案--------------------
很好啊
------解决方案--------------------
学习了
------解决方案--------------------
实在是高
------解决方案--------------------
期待解释
------解决方案--------------------
非常感谢
------解决方案--------------------
高人们 能解决 中英文混排 分词 的问题 才行啊


------解决方案--------------------
楼主好像是要说明光有“小”是不行的
------解决方案--------------------
一直在用SQL Server Personal版本,不支持全文搜索,不过仍学一下,
------解决方案--------------------
  相关解决方案