邹大哥快来帮忙看一下全文检索,为什么搜不到????????高手也进来帮忙看一下。
我建了个专辑的全文目录,要把这个专辑的名字输入全了,才能搜到,如“哈林夜总会”就能搜到,可搜“哈林夜”就出现这个错误“对全文目录 'MusicSpecial'(属于数据库 ID 11 中的表 ID 597577167)的搜索(搜索条件为 '哈林夜')失败,结果(80041605)未知。 ”
我的搜索语句是这样的:sql="select * from Special where FREETEXT(Special,'"& keyword &"')"
同样的方法做了新闻的全文目录,可什么也搜不到,用like 就可以搜到。
到底怎么回事????
问题点数:100、回复次数:16Top
1 楼zjcxc(邹建)回复于 2005-06-02 10:00:32 得分 50
改用CONTAINS检索试试.
sql="select * from Special where CONTAINS(Special,'"& keyword &"')"
Top
2 楼lzt_6666(美雅)回复于 2005-06-02 10:08:13 得分 0
错误是一样的。Top
3 楼softj(天地客人<最近很迷茫>)回复于 2005-06-02 10:22:26 得分 0
是什么数据类型啊!Top
4 楼greenhornH(胖子)回复于 2005-06-02 10:29:35 得分 10
gzTop
5 楼zjcxc(邹建)回复于 2005-06-02 10:41:17 得分 0
--加*
sql="select * from Special where CONTAINS(Special,'"*& keyword &"*')"Top
6 楼lzt_6666(美雅)回复于 2005-06-02 10:57:31 得分 0
sql="select * from Special where CONTAINS(Special,'"*& keyword &"*')"
语法错误
search.asp,行 60
sql="select * from Special where Contains(Special,'"&* keyword *&"')"
我的数据类型是varcharTop
7 楼hanwen(汉文)回复于 2005-06-02 10:58:26 得分 10
markTop
8 楼zjcxc(邹建)回复于 2005-06-02 11:02:55 得分 0
--加错地方
sql="select * from Special where CONTAINS(Special,'""*" & keyword & "*""')"
Top
9 楼yifan600(一剑飘雪)回复于 2005-06-02 11:05:04 得分 10
sql='select * from special where special like '+'''%'+ keyword +'%'''Top
10 楼lzt_6666(美雅)回复于 2005-06-02 11:11:02 得分 0
天啊,还是那错误
Microsoft OLE DB Provider for SQL Server 错误 '80040e14'
对全文目录 'MusicSpecial'(属于数据库 ID 11 中的表 ID 597577167)的搜索(搜索条件为 '胡思')失败,结果(80041605)未知。
我刚打了个补丁sp4,结果成了,搜出来不只显示表头“姓名 专辑 视听”,底下就没内容了。
我装的2003
Top
11 楼lzt_6666(美雅)回复于 2005-06-02 11:39:18 得分 0
我用contains 的方法
搜“忘了时间的钟”,可以搜到,再搜“忘了时间”,就搜不到“忘了时间的钟”这个专辑,再搜“忘了”就出现错误:
对全文目录 'MusicSpecial'(属于数据库 ID 11 中的表 ID 597577167)的搜索(搜索条件为 '忘了')失败,结果(80041605)未知。Top
12 楼zjcxc(邹建)回复于 2005-06-02 14:18:01 得分 0
全文检索像是按单词的,确实有这种问题.Top
13 楼lzt_6666(美雅)回复于 2005-06-02 14:48:47 得分 0
那怎么办呀?不能出这个错误呀?Top
14 楼lzt_6666(美雅)回复于 2005-06-03 10:44:26 得分 0
问题基本解决,像搜“林晓培广告成了第二副业”可以搜到,搜“了第二副业”就搜不到,呆会结贴,看大家还有什么好办法没?
我的经验:
1,看C:\Program Files\Microsoft SQL Server\MSSQL\FTDATA\SQLServer\Config里面有没有nosie.chs,如果没有的话在system32下能找到,复制过来。打开把所有的中文字都删了。如果不能修改,要先把sql下的"支持服务"里的“全文检索”停止,就可以改了。
2,在表上点右键,“全文索引表”-> “在表上定义全文索引”,注意在第三步“单词断字符的语言”,要选中文。
3,"完全填充"
就可以了。
要注意顺序,而且如果要改第一步的话,一定要把建好的全文索引删了,重新来过。
Top
15 楼cywarson(阿胜)回复于 2005-06-03 11:02:38 得分 10
多谢分享,试试.Top
16 楼echoxue(咱当过兵的人)回复于 2005-06-03 12:28:02 得分 10
upTop




