读书人

[原创]SQL SERVER 2005/2008 全文索引

发布时间: 2012-01-15 22:57:48 作者: rapoo

[原创]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版本,不支持全文搜索,不过仍学一下,
------解决方案--------------------



[解决办法]
拜读

楼主是苍迷? 乐
[解决办法]
谢谢共享资源
[解决办法]
这个例子也太简单了
[解决办法]
数据库里的全文索引好像不太适应高压。。。
[解决办法]
看了这demo我笑了。原来楼主喜欢看日本室内爱情动作片,而且还是苍老湿和小泽老湿的粉丝啊。
[解决办法]
http://blog.csdn.net/HEROWANG/archive/2009/08/11/4436605.aspx
http://blog.csdn.net/HEROWANG/archive/2009/08/11/4436623.aspx
[解决办法]
支持coleling,希望能尽快贴出后续帖子,学习,努力学习。
[解决办法]
sql server 2008的全文索引已经重写了,与sql server 2005是不一样的。
[解决办法]
就我们使用的经验来讲,全文索引用着并不是很实用,很多分词方式不能满足要求。
[解决办法]
你今年规范的是那个开饭店
[解决办法]
感受科普光环
[解决办法]
结果那?
[解决办法]
支持原创啊

[解决办法]
学习学习
[解决办法]
感谢分享!
[解决办法]
值得我学习的一个知识点,关注!
[解决办法]
s学习 ..盖章
[解决办法]
学习了呵呵
[解决办法]

探讨

全文索引对中文的支持累人

[解决办法]
全文索引
[解决办法]
苍井空和小泽玛利亚是深受人民群众喜爱的著名艺术家

~我是来看艺术家的~!
[解决办法]
.......xuexi
[解决办法]
新人,学习中~~~
[解决办法]
呵呵 好 好 好

读书人网 >SQL Server

热点推荐