BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #2975同步于 2009/2/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

[合集] 求助:关于数据库全文索引的问题

coolfantasy
2009/2/23镜像同步0 回复
☆─────────────────────────────────────☆ forum (forum) 于 (Thu Dec 11 09:54:53 2008) 提到: 我用的Sqlserver2005,表名是personInfo,对该表建立全文索引。 其中有一个name字段,其数值为 中国国家图书馆 目的:通过 国家 这个词,搜索到这条数据。 然后,利用全文索引搜索 select * from personInfo where contains(name,'国家');-------》没有结果 select * from personInfo where contains(name,'"国家*"');-------》没有结果 select * from personInfo where contains(name,'"*国家*"');---------》没有结果 求大侠给出问题所在,谢谢。 ps:利用 "中国"代替"国家"是可以的。也就是说,利用 这个词"中国国家图书馆"的第一次词是可以。 select * from personInfo where contains(name,'"中国*"');-------》有结果 ☆─────────────────────────────────────☆ rbq10829 (没黄的鸭蛋) 于 (Thu Dec 11 21:35:14 2008) 提到: 热情一顶~~~ 望达人相告! ☆─────────────────────────────────────☆ FlyBeast (ah_jun) 于 (Sat Dec 13 01:40:00 2008) 提到: 个人猜测或者理解: 全文索引和LIKE 不一样的是全文索引会把字段里内容做一番语法词法分析,将有意义的词语挑出来,可能是因为“国家”这个词被sqlserver认为是通用的词,在进行全文索引整理的时候,这种词是不做索引的,要做就太多了,“中国”作为一个具体的国家,所以做上了,能被查出来,跟检索的词在前在后没关系。 到你的SQL Server的安装目录下, ..\Sqlserver\Config, 找到noise.chs文件,或者直接搜索noise.chs 这个文件应该是记录那些通用被忽略的词的。 把noise.chs里面的"国家"这个词去掉,再试试? 我没用过SQL SERVER ,也没用过全文索引,是个菜鸟,高手请赐教。 ☆─────────────────────────────────────☆ forum (forum) 于 (Tue Dec 16 13:28:52 2008) 提到: 【 在 FlyBeast 的大作中提到: 】 : 个人猜测或者理解: : 全文索引和LIKE 不一样的是全文索引会把字段里内容做一番语法词法分析,将有意义的词语挑出来,可能是因为“国家”这个词被sqlserver认为是通用的词,在进行全文索引整理的时候,这种词是不做索引的,要做就太多了,“中国”作为一个具体的国家,所以做上了,能被查出来,跟检索的词在前在后没关系。 : 到你的SQL Server的安装目录下, ..\Sqlserver\Config, 找到noise.chs文件,或者直接搜索noise.chs : ................... 相当牛了,出去混了几年不一样了啊。 ☆─────────────────────────────────────☆ yanhui (一切都是浮云,浮云下面又都是纸老虎~) 于 (Tue Dec 16 19:12:08 2008) 提到: "*国家*"' 应该是全部结果才是。。。。。我想的。。。。
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。