语言 VARCHAR(2) 字段包含双文字语言缩写。
我正在尝试用德语显示所有记录:
SELECT * FROM table1 WHERE MATCH(`language`) AGAINST("de");
出于某种原因,这个表达式返回一个空集是因为值“de”,尽管它在保留字列表中没有找到“de”。
我在 mySQL 设置中设置了 ft_min_word_len=1。对于其他“语言”,我没有发现问题。
为什么会这样?
语言 VARCHAR(2) 字段包含双文字语言缩写。
我正在尝试用德语显示所有记录:
SELECT * FROM table1 WHERE MATCH(`language`) AGAINST("de");
出于某种原因,这个表达式返回一个空集是因为值“de”,尽管它在保留字列表中没有找到“de”。
我在 mySQL 设置中设置了 ft_min_word_len=1。对于其他“语言”,我没有发现问题。
为什么会这样?
该词
de出现在 的常规停用词列表中innoDB。此列表中的单词在搜索查询中被忽略 - 因此您输入了一个空的搜索查询。有文件证明可以覆盖停用词表,但问题和评论中指定的任务根本不需要全文搜索。