選択クエリで結果を選択するときにmysqlに指定された特定の文字列を同じものとみなせるようにすることが可能かどうかを調べるのに問題があります。MYSQL強制パターンの一致
たとえば、「trachiotomy」という単語が含まれている列がありますが、言語の性質上、検索クエリが "trahiotomy"(cが見つからないことが多い)になる可能性が非常に高いです。
文字のパターンを別の文字パターンに認識させる方法はありますか? たとえば、 "ach"の文字列内のすべてのインスタンスを "ah"にマッチさせる - その逆も同様です。本質的には、それがどのように書かれたかにかかわらず強制的に。
もう1つの例は、Archonという言葉でしょう。私はArhonにも一致させたいと思います。 ユーザ入力がArchonの場合、データベースデータArhonと一致し、その逆も同様です。
私はsoundexを少し試してみましたが、いくつかのインスタンスにマッチしますが、アルゴリズムの仕組みにより、目的の一致した文字列が単語の先頭にある場合にはそれができません。
たとえば、「Chorevo」という単語が「Horevo」という単語にマッチするのは、何らかの理由で「chor」が「hor」に等しいとみなされ、その逆の場合もあります。
私はそれが何とか一致するかどうかを確認するためにREGEXPを読んでいます。 REGEXP 'arch'、 'arh')
この時点では全文検索クエリを使用していますが、それが問題であると判明した場合は変更できます。
私はこれを明確にしているとは確信がありませんが、可能な限りの助けに感謝します。
は、レーベンシュタインそのアルゴリズムを使用していませんか?のようなものを:http://www.artfulsoftware.com/infotree/queries.php#552 –
私はlevenstein(カスタム関数)をテストしましたが、これらのタイプの単語で問題をカバーすることはできません(特にc Chorevo/Horevoの別の文字で始まり、音声的には似ていますが)、私は深く掘り下げなかったので、大きなデータセットでは少し遅いように見えました。 – Larry