ユーザーが綴りを間違えたため、存在しないドメインの最も近い一致を教えてくれるサービスを探しています。たとえば、ユーザーが「hotmail.con」と記述した場合、それを使用してクエリを送信し、結果として「hotmail.com」を取得します。
1 に答える
あなたは難しい問題を選びました。ドメインの長さは1〜63文字で、文字[a-z0-9-]を含める必要があり、ハイフンで始めることはできません。ブルートフォース攻撃はオプションではありません。ユーザーがhotmail.conと入力すると、スペルミスを検索できます。これは、正確なドメイン名である場合とそうでない場合がありますが、どのスペルミス homail.com
がhotmale.com
正しいかを誰が知っているでしょうか。コンピュータは、オプションのリストをユーザーに返す必要があります。「このドメイン名ですか、それともそのドメイン名ですか?」
Googleが入力するスペルチェッククエリに使用するPeterNorvigのスペル修正プログラムに興味があるかもしれません。これは、地球上で最高のスペル修正プログラムの1つです。
http://norvig.com/spell-correct.html
Peter Norvigのスペルチェッカーは、最新の正しいドメイン名の本体があれば機能するはずです。ユーザーがアクセスしたサイトのリストを保持し、それらをドメイン名の本体として使用してチェックすることにより、その場で独自のリストを作成できます。そうすれば、ユーザーが「hotmail.con」を選択すると、リストにhotmail.comが見つかります。ただし、これはユーザーが誤って「hotmale.com」にアクセスするのを防ぐものではありません。それは有効なサイトだからです。
すべてのドメイン名を取得する方法についてのスタックオーバーフローの質問は次のとおりです。
https://stackoverflow.com/questions/4539155/how-to-get-all-the-domain-names
最良のアイデアは、箱の外で考えて、Firefoxのようにそれを行うことです。ユーザーがhotmail.comと入力し始めると、通常はテキストボックスをクリックし、「h」と入力してから「o」と入力します。ドロップダウンに、それで始まる最近アクセスしたドメイン名を表示させます。