2013-03-13 21 views
6

フルテキスト検索とSOUNDEX(名前の綴りが間違っている場合)を使用して、姓と名の検索を実装しようとしています。MySQLのフルテキスト検索とSOUNDEX

私は

SELECT * 
    FROM employees 
WHERE 
    MATCH SOUNDEX(first_name, last_name) AGAINST SOUNDEX('John 1969 Ivan') 

ような何かをしようとしていたが、これは有効な構文ではありません。

私が達成したい何を、例えば時にユーザーが「ジョン・イヴァン」、列

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

が一致するということです。

ありがとうございます!

+0

これをMATCH ... AGAINSTと組み合わせることができるかどうかは分かりませんが、フルテキスト検索では単独で対処できますか?それは綴りの違いのための*いくつかの許容値を持っています –

+1

関連:[実行する最も簡単なサイト検索アプリケーションは、ファジー検索をサポートしていますか?](http://stackoverflow.com/q/1899470) –

答えて

3

MySQLは、テキスト検索、ファジー検索、スペルミスなどに関しては、短くなる傾向があります。Solrのようなインデックスソリューションを強くお勧めします。 Solrは、Soundex、RefinedSoundex、Metaphone、DoubleMetaphoneの4種類の音声検索をサポートしています。地理空間検索とスペルミスの検索と、蝶/蝶の検索があります。私はあなたが本当に得られる結果に満足していると思います。これはMySQLに比べて速いです

関連する問題