全文索引 CONTAINS 比like得到的数据少。如何解决?谢谢

adandelion 2007-08-08 12:57:04
sql 2005 全文索引大家用过没?
WHERE CONTAINS( [content1], '条' ) 的结果比like的结果少很多,为什呢?


WHERE CONTAINS( [content1], '"*条"' )这个也测试了,不行。
...全文
300 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sp4 2007-08-15
  • 打赏
  • 举报
回复
但是这样造成索引文件太大,影响查询效率,只是完成了like的倒排索引而已了
sp4 2007-08-15
  • 打赏
  • 举报
回复
那么就是单字分词了,SQL里有默认的一种,反正别选择简提中文来作为分词就好
guyanyan 2007-08-15
  • 打赏
  • 举报
回复
那怎么来控制这个词呢?例如我就想把‘条’作为一个词
madfrogzt 2007-08-15
  • 打赏
  • 举报
回复
那CONTAINS适合在什么样的情况下啊
whw123456 2007-08-15
  • 打赏
  • 举报
回复
学习
sp4 2007-08-09
  • 打赏
  • 举报
回复
也就是说全文索引进行了分词处理,虽然可能不是你所想要的。
sp4 2007-08-09
  • 打赏
  • 举报
回复
比LIKE少是肯定的啊

like是表示存在这个字符的都查出来
contains是查出这个词来

假如 条件 这个字段数据

like可以查出来 ,contains肯定查不出来

全文索引之所以快完全是应用的等于概念的倒排索引机制
如全文索引中把“条件”当作一个词,而不是“条”一个词,“件”一个词

所以搜索“条” 就认为 “条件”这个词语中没有 “条”这个词
adandelion 2007-08-08
  • 打赏
  • 举报
回复
WHERE CONTAINS( [content1], '"*条*"' )这个也测试了,不行。
adandelion 2007-08-08
  • 打赏
  • 举报
回复
谢谢回答。

我的是汉字啊。哪来大小系。

再次表示感谢。
mengmou 2007-08-08
  • 打赏
  • 举报
回复
CONTAINS是对大小写敏感的

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧