所以我有一个与mysqls匹配的问题。
我需要做这样的事情:
SELECT somefield FROM my_table WHERE MATCH(somefield) AGAINST ('some 2 x 3');
我要搜索的是“大约2 x 3”。但问题是mysql搜索每个单词,因此它将搜索“ some”,“ 2”,“ x”和“ 3”,并且由于我无法在mysql设置中更改ft_min_word_len,因此它不起作用并且会忽略任何内容少于2个字符。
因此,我要在查询中将“ 2 x 3”分组。
所以它可能会像这样出来???
SELECT somefield FROM my_table WHERE MATCH(somefield) AGAINST ('some {2 x 3}');
这将搜索“ some”和“ 2 x 3”
如果可能的话,我该怎么办?
谢谢你的帮助!
最佳答案
似乎全文不是您要求的正确解决方案。 MySQL不会索引短语2 x 3
,甚至不会索引单词some
,因为它在停用词列表中。我建议您使用OR somefield LIKE '%some 2 x 3%'
子句扩展查询,以处理全文搜索不够的情况。