Sql Server 2005全文检索中碰到的问题和分析
比如以下两句话:
- 测试一个项目
- 我来测一下
如果使用contains(‘col1’,’测’)这样的查询,很可能会只搜索到第2个,而无法搜索到第一个。
而使用like则可以通过'%测%'来查到这两条记录
原因分析:我对数据库的全文检索并不是很熟悉,只是对比了全文和like的性能,发现like的性能实在是慢了点,而微软的东西一向做的傻瓜式入门,我也就当一回傻瓜了。
这个问题是不经意中碰到的,分析了一下,可能是以下原因,大家仅当参考。
全文检索应该是以词为基本单位进行搜索,因此分词的不同会对搜索结果造成影响。而微软的傻瓜式分析还无法做到搜索“测”可以查到“测试”之类的,需要再仔细研究了。
这以下文章中也提到了一些注意事项,可以参考一下
SQL中的全文检索(转邹建)
http://www.cnblogs.com/chegan/archive/2005/08/02/205756.html
Sql Server? 全文检索总结
http://hi.baidu.com/chinadaima/blog/item/5242dbf999b2665c252df28e.html
SQL Server 2000 全文检索技术
http://www.cnblogs.com/kirk003/articles/377721.html