有没有办法在mysql中搜索如下标准? 如果有任何回复。
如果我用“murray's”搜索,那么它将返回“murray”的精确数据,但它也应该返回“murrays”的数据意味着没有萎缩(')的同一个词。
如果我搜索没有萎缩('),它也会搜索萎缩(')。
最后
如果搜索查询是“murray's”,它将返回“murray”和“murray”。
和
如果搜索查询是“murrays”,它将返回“murrays”和“murray's”。
提前致谢
答案 0 :(得分:1)
您最好的选择是在桌面上创建一个Full Text Index。
然后您可以将其查询为:
select *
from restaurants
where match(name) against ('murrays')
除此之外,您可以在查询中使用SOUNDEX
或SOUNDS LIKE
。以下两个查询完全相同:
select *
from restaurants
where soundex(name) = soundex('murrays')
select *
from restaurants
where name sounds like 'murrays'
另请注意,MySQL使用原始的SOUNDEX
算法,而不是最近的算法。因此,它将返回任意长度的字符串。如果您之前使用过SOUNDEX
,请务必考虑到这一点。