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

posted @ 2008-07-11 18:51  andy.wu  阅读(646)  评论(0编辑  收藏  举报