希望我只是看不到树木的森林,但我的全文搜索行为非常奇怪,我无法自己解决这个问题。(我试图寻找解决方案,但到目前为止没有运气,因此非常感谢任何帮助。)
所以我的问题是:如果我搜索“ tök ”(在匈牙利语中意为“南瓜”),该列表还包含带有“ tok ”(意为“案例”)的结果。如果我搜索南瓜,我显然不想要手机壳之类的东西。
我的系统是 MySQL 每个表都在InnoDB 中,utf8_general_ci
这是(简化的)查询:
SELECT id_item,item_title,tag_name, MATCH (item_title) AGAINST ('tök' IN NATURAL LANGUAGE MODE) AS title_relevance, MATCH (tag_name) AGAINST ('tök' IN NATURAL LANGUAGE MODE) AS tag_relevance
FROM item_translations
WHERE NULL IS NULL
AND ( MATCH (tile_item_title) AGAINST ('+tök' IN NATURAL LANGUAGE MODE ) OR MATCH (tag_name) AGAINST ('+tök' IN NATURAL LANGUAGE MODE ) )
AND id_language=1
ORDER BY title_relevance DESC, tag_relevance DESC
LIMIT 0,40
PS:关键字并不总是匈牙利语,因为这个网站是多语言的,所以我需要一个相对灵活的解决方案,它可以处理大多数重音字母(如果可能的话)