我正在尝试使用全文搜索和SOUNDEX实现名字和姓氏搜索(如果名称拼写错误的话)。
我试图做像
这样的事情SELECT *
FROM employees
WHERE
MATCH SOUNDEX(first_name, last_name) AGAINST SOUNDEX('John 1969 Ivan')
但这不是有效的语法。
我想要实现的是,当用户键入例如“Jon Ivan”时,列
first_name | last_name
----------------------
John Ivan
会匹配。
提前谢谢!
答案 0 :(得分:2)
MySQL在文本搜索,模糊搜索,拼写错误等方面往往不尽如人意。我强烈推荐像Solr这样的索引解决方案。 Solr支持四种不同类型的语音搜索:Soundex,RefinedSoundex,Metaphone和DoubleMetaphone。它具有地理空间搜索和拼写错误搜索以及蝴蝶/蝴蝶搜索。我想你会对你得到的结果感到满意。与MySQL相比,它快速闪电