我目前使用以下查询来获取搜索结果,它工作正常。
select name from table where MATCH(name) AGAINST(:searchTerm IN BOOLEAN MODE)
事情是,如果一行包含一个 word MariaDb
,并且用户搜索Maria
,它将不会返回任何结果。怎么可能做一个搜索查询来返回包含单词的所有行Maria
?
用户还可以搜索多个单词,例如Computer software
您需要使用在此链接中看到的运算符:http: //dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html 因此,根据您需要的运算符更改搜索词. 你的例子是:
要将 MariaDB 与 Maria 词匹配,您的搜索词应为:maria*
select name from table where MATCH(name) AGAINST('maria*' IN BOOLEAN MODE)