如何在Mysql中使用MATCH AGAINST而不是LIKE

时间:2018-04-18 17:11:45

标签: mysql sql sql-like

众所周知,LIKE太慢了,但是当我尝试使用MATCH AGAINST时,它没用了。

我需要一些操作数来提供结果,例如LIKE'%part%'当" part"是这个词的一部分,而不是一个完整的词。

我已经尝试了

SELECT * FROM `table` WHERE MATCH (title) AGAINST ('*part*' IN BOOLEAN MODE)
SELECT * FROM `table` WHERE MATCH (title) AGAINST ('+*part*' IN BOOLEAN MODE)

并且无效

任何解决方案?

1 个答案:

答案 0 :(得分:0)

您只能在单词的开头匹配带有通配符的单词。正如documentation所解释的那样:

  

*

     

星号用作截断(或通配符)运算符。不像   其他运算符,它附加到受影响的单词。话   如果它们以*运算符之前的单词开头,则匹配。