应该是你自己的问题。哪有用一条记录做测试的?普通模式下,记录的返回有阀值限制的。如果你只有一条记录,那么改成 IN BOOLEAN MODE,忽略阀值限制。双字节的情况下应该搜到是没有问题的,问题是经常会搜多了结果出来,原因想想就明白了。多看在线手册。我记得fulltext 这一章的用户评论里有人提示过如何设置中文搜索的。
刚才升级mysql到4.1.7,发现已经可以了。不过安装是采用“完全安装”的
有点奇怪,我早上试了很多次就是查不了.下午试却可以查了.但是还有个问题:我用 SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('中文'); 是可以查到id为7的那条记录.但是我在插入一条id为8的记录后,如下. INSERT INTO `articles` VALUES (8, '中文信息', '这里含有中文信息'); (也就是中文这词前后没有留空格)再用 SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('中文'); 也只能查到id为7的记录,而id为8的记录却查不出来.这又是为何呀?
全文索引填充需要时间,不知道mysql里面有几种填充方式,是否自动填充?
不是很明白,不过 SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('这里'); 可以得到两条记录
哇,是呀是呀,xuzuning(唠叨) 老大.我用SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('这里'); 也是得到这两条记录 而用SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('中文'); 却只能得到id为7的那条.这是怎么一会事呀?
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('中文*' IN BOOLEAN MODE); 这样我这里可以找到两条,具体原理不是很明白,试了几个其他的词组,更是糊涂了
我是用变通的方法做的——将中文转换成拼音呵呵,不得已而为之吧
将中文转换成拼音是什么意思? 能取个例子吗? hlddn(西藏的那片天) :
你那是全文搜索吗?
能搜索到中文~~无论是GB2312还是UTF8
是吗?请详细说说
是可以查到id为7的那条记录.但是我在插入一条id为8的记录后,如下.
INSERT INTO `articles` VALUES (8, '中文信息', '这里含有中文信息');
(也就是中文这词前后没有留空格)再用 SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('中文'); 也只能查到id为7的记录,而id为8的记录却查不出来.这又是为何呀?
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('这里');
可以得到两条记录
而用SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('中文'); 却只能得到id为7的那条.这是怎么一会事呀?
这样我这里可以找到两条,具体原理不是很明白,试了几个其他的词组,更是糊涂了
按你怎么做好象有点麻烦.