何时使用 SQL 的 MATCH/AGAINST 功能在查询中计算字序?
假设我正在寻找一个名字与 Palwinder Singh 相似的人,使用以下代码:
SELECT DISTINCT id,name,surname FROM person
WHERE MATCH(name,surname)
AGAINST('+Palwinder+Singh' IN BOOLEAN MODE)
此代码正确返回与名为 Palwinder Singh 的人(恰好在我的数据库中是唯一的)相关的信息(这是预期的结果)
但是,如果我使用以下代码:
SELECT DISTINCT id,name,surname FROM person
WHERE MATCH(name,surname)
AGAINST('+Singh+Palwinder' IN BOOLEAN MODE)
我得到了所有姓氏为“Singh”的玩家(总共 22 人)的名单,似乎忽略了我正在寻找 Palwinder Singh 的事实。
我不明白为什么结果不同?我怎样才能让查询对词序漠不关心?