我最近升级到MySQL 5.5(从5.0)。我的搜索现在被打破了。它找不到大多数搜索短语。过了一会儿,我注意到,这可能是 50% 的阈值(找到生僻词)。它是InnoDB。我已经在my.cnf中设置了空白的非索引字文件。
那些查询已经是这样的了
AGAINST (@srch IN BOOLEAN MODE)
然而,许多(通常是所有)结果都被忽视了。
我能想到的唯一原因是phpMyAdmin在登录时给出的警告行:
您的 PHP MySQL 库版本 5.0.51a 与您的 MySQL 服务器不同 版本 5.5.22。这可能会导致不可预知的行为。
然而,其他一切似乎都很好。我真的无法升级 php。而且很有可能这不是原因。
有什么想法吗?
在设置停用词和ft_min_word_len后,我不得不删除整个InnoDB数据库(dump和import)。现在它起作用了。
至于自 5.6.4 以来可用的全文搜索:官方 mysql 手册中有一些拼写错误/错误。它在 5.0 中工作,在 5.5 中仍然有效。问题在于重建InnoDB的索引。