MySQL全文搜索和SOUNDEX

时间:2013-03-13 19:08:20

标签: mysql full-text-search soundex

我正在尝试使用全文搜索和SOUNDEX实现名字和姓氏搜索(如果名称拼写错误的话)。

我试图做像

这样的事情
SELECT * 
    FROM employees 
WHERE 
    MATCH SOUNDEX(first_name, last_name) AGAINST SOUNDEX('John 1969 Ivan')

但这不是有效的语法。

我想要实现的是,当用户键入例如“Jon Ivan”时,列

first_name | last_name
----------------------
  John        Ivan

会匹配。

提前谢谢!

1 个答案:

答案 0 :(得分:2)

MySQL在文本搜索,模糊搜索,拼写错误等方面往往不尽如人意。我强烈推荐像Solr这样的索引解决方案。 Solr支持四种不同类型的语音搜索:Soundex,RefinedSoundex,Metaphone和DoubleMetaphone。它具有地理空间搜索和拼写错误搜索以及蝴蝶/蝴蝶搜索。我想你会对你得到的结果感到满意。与MySQL相比,它快速闪电