MySQL布尔全文操作符和奇怪的事件

时间:2011-06-20 20:36:15

标签: php mysql

晚上好,

我想在数据库(80000行)中搜索,两行使用'full-text-Boolean-magic'。 这种情况有一段时间非常好,所以Index已经开启,一切都应该如此。

现在,因为de数据是荷兰语,法语或英语,我希望能够即时翻译它。同样,这就像一个魅力(Woooo Google,Houray Microsoft)。

所以,说我想搜索“奶酪”这个词,脚本开始翻译并搜索奶酪,咖啡和奶酪......(嗯,带上它!)

这看起来像这样:

SELECT * FROM archief WHERE MATCH(description, keywords) AGAINST('(+cheese) (+kaas) (+cheese) (+fromage)' IN BOOLEAN MODE) AND showa = '1' AND rel_date <= '20110620' ORDER BY datetaken desc LIMIT 50

和是,这有效

但是,比如说,我想寻找'蓝芝士'

SELECT * FROM archief WHERE MATCH(description, keywords) AGAINST('(+blauwe +kaas) (+blauwe +kaas) (+blue +cheese) (+fromage +bleu)' IN BOOLEAN MODE) AND showa = '1' AND rel_date <= '20110620' ORDER BY datetaken desc LIMIT 50

我用蓝色OR奶酪得到了结果,嘿,我在单词之前使用'+'运算符!?

使用引号来表示他的工作:

SELECT * FROM archief WHERE MATCH(description, keywords) AGAINST('("blauwe kaas") () () ()' IN BOOLEAN MODE) AND showa = '1' AND rel_date <= '20110620' ORDER BY datetaken desc LIMIT 50

当然,这不是搜索数据库的好选择。

所以我的朋友们,我在这里错过了什么,为什么'plus'操作员不工作?

感谢您的关注和未来的解决方案!!

Ĵ

0 个答案:

没有答案