如何使用sql进行松散搜索

xoefb8l8  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(287)

所以我试图用php和mysql实现一个搜索函数,我遇到了 LIKE sql操作符,它可以很好地用于基本的字符串匹配,但是它正在寻找精确的匹配。我想知道如何能够搜索松散的mysql。
现在,如果你用我的搜索功能搜索“蓝色夹克”,那么它将不会匹配它与“一个非常好的蓝色项目|夹克”。我希望能与之匹配,有什么建议吗?
我当前用于搜索的mysqli代码如下所示:

$stmt = $conn->prepare("SELECT * FROM `items` where title LIKE CONCAT('%', ?, '%')");
von4xj4u

von4xj4u1#

在@gordon linoff和@sammitch建议全文搜索之后,我进入phpmyadmin并做了标记 title 列作为全文,然后将sql查询修改为:

$stmt = $conn->prepare("SELECT * FROM `items` WHERE MATCH(title) AGAINST ( ? IN NATURAL LANGUAGE MODE)");

更多信息:dev.mysql.com/doc/refman/5.7/en/fulltext-search.html

相关问题