我的查询是这样制定的:
$sql = "SELECT name, id FROM table WHERE MATCH (name) AGAINST ('".$query."*' IN BOOLEAN MODE) LIMIT 0,10";
所以搜索tom
检索:
Tom Anderson | 1
Tom Bennet | 2
Tom Cane | 3
但是,如果我搜索tom anderson
,则查询将编译为:
...MATCH (name) AGAINST ('tom anderson*' IN BOOLEAN MODE)...
返回相同的结果集(我只想要第一个)。我该如何更改查询?
答案 0 :(得分:1)
您应该使用+
表示必须出现的字词,或使用"
表示完整的字词
检查布尔值mode manual
我想这会工作
...MATCH (name) AGAINST ('"tom anderson"*' IN BOOLEAN MODE)...