热情讨论MySQL的全文搜索

babystudio 2003-09-16 11:54:01
不知道各位的全文检索是如何解决的?
MySQL的FULLTEXT好像很怪异,明明征文中有待查单词,就是查不出。另外,似乎不支持中文吧?
如果先把text字段转换成varchar类型用字符串函数判断,一则效率、二则大数据丢失
如果先把数据检索出来,然后在php脚本中判断,效率恐怖

诚心求论
...全文
8 点赞 收藏 15
写回复
15 条回复
babystudio 2003年09月19日
呵呵,go on
回复 点赞
lxf_1976 2003年09月19日
对,一种折中的方案就是另外建立一个索引,包含全文中的关键字
回复 点赞
shuixin13 2003年09月17日
呵呵,
人不发脾气也是不行的,
我有时也会发些脾气呢!!!!

要选十大杰出青年,
小木 兄是少不了啦!!!!
回复 点赞
lxf_1976 2003年09月17日
谢谢谢谢! 几位取笑我了! :-)

虽然做不到雷锋,但坚持助人为乐的感觉,有时又会发点脾气~~~~~~
回复 点赞
weizhihui1213 2003年09月17日
呵呵,关注ing...感谢ing...
同意ezhou(煮花生)的意见
回复 点赞
ezhou 2003年09月17日
小木,真的好人!
我坚决支持选举小木为本版十大杰出青年!
回复 点赞
volca 2003年09月17日
俺错了,还是不支持-___-
回复 点赞
volca 2003年09月17日
补充:俺说的是支持中文全文检索
回复 点赞
volca 2003年09月17日
今天俺在mysql 4.0.15里测试以下sql

SELECT * FROM tbl_name WHERE MATCH (text) AGAINST ('中文')

能够正确选出text字段包含'中文'的列,是不是说这个版本开始支持全文检索了呢?

操作环境:windows 2000 sp4
mysql 4.0.15缺省安装
apache 2.0.47+php 4.3.3
回复 点赞
babystudio 2003年09月17日
还没有办法,可能目前比较可行的办法是放弃全文检索... 呵呵

或者这样,自己动手解析文档内容,根据一个词库解析全文,把文档ID和包含的有效单词(比如名词,动词价值不大)存放到另一张索引表中。然后到索引表里面检索,不过这样就必须要有个后台程序,定期做这件事了。放到php脚本里面恐怕要超时
回复 点赞
lxf_1976 2003年09月17日
呵呵,犬犬也这么说我?!

Ok,玩笑话咱私底下聊,这是技术论坛,咱还是讨论技术吧,:D
------------------------------------------------------------------

楼主最后决定用什么方法解决中文全文检索?
回复 点赞
tsglxl 2003年09月16日
lxf_1976(小木) ,好人啊!!!
回复 点赞
lxf_1976 2003年09月16日
呵呵,我又来了!请参考以下帖子:

http://expert.csdn.net/Expert/topic/1815/1815968.xml?temp=7.378787E-02
http://expert.csdn.net/Expert/topic/2232/2232155.xml?temp=.3346521
http://expert.csdn.net/Expert/topic/1688/1688069.xml?temp=.7262537
http://expert.csdn.net/Expert/topic/1971/1971156.xml?temp=.506283
回复 点赞
lxf_1976 2003年09月16日
sorry,中文全文检索目前好像是不支持的,我没有研究过!

so sorry
回复 点赞
lxf_1976 2003年09月16日
楼主的问题属于字符集设置的问题!本版有很多相关帖子讨论了字符集的设置操作!

我自己一般都是使用binary关键字来精确匹配字符串的!例如:

select * from tbl_name where binary body like '%全文检索%'
回复 点赞
发动态
发帖子
MySQL
创建于2007-09-28

2.4w+

社区成员

5.5w+

社区内容

MySQL相关内容讨论专区
社区公告
暂无公告