sql >> データベース >  >> RDS >> Mysql

古語のスペリングに関する他のクエリの提案(例:GoogleのDid You Mean)

    Googleの「もしかして」は非常に興味深いものです: Googleはどういう意味ですか?アルゴリズムは機能しますか?

    過去に、私はSOUNDEX と同様の何かを実装することができました。 その機能を近似することができます。

    Martin、Martyn、およびMartineは、SOUNDEXから同じ出力を生成します。 。

    SOUNDEXからのすべての結果を含めることができます 一致するか、要求された結果を選択してから、select distinct name from table where SOUNDEX(name) = SOUNDEX(search_var)であるテーブルから個別の名前を選択します あなたの「提案」として。

    最適化として、検索フィールドでSOUNDEXを事前に計算し、それをインデックス付きの列として保持して、テーブルのスキャンを回避できます。

    GoogleのDidYouMeanほど洗練されていませんが、かなりすばやく近づくことができます。



    1. NodeJSMySQL-接続がリリースされているかどうかを知る方法

    2. MySQL#1093-FROM句で更新するターゲットテーブル「giveaways」を指定できません

    3. SSMSにAzureDataStudioが付属するようになりました

    4. タイムゾーンの問題にどのように対処しますか?