製品名の非常に大規模なデータベースを考えると、ユーザー検索で考えられるタイプミスをどのように検出し、考えられる修正を提案しますか(Googleがそれらを提示する方法のようにちょっと)?
例えば
ユーザーは「フォークハンドル」と入力し、「検索」を押します。
彼らは戻ってきます
「結果はありません。「フォークハンドル」という意味ですか?」
製品名の非常に大規模なデータベースを考えると、ユーザー検索で考えられるタイプミスをどのように検出し、考えられる修正を提案しますか(Googleがそれらを提示する方法のようにちょっと)?
例えば
ユーザーは「フォークハンドル」と入力し、「検索」を押します。
彼らは戻ってきます
「結果はありません。「フォークハンドル」という意味ですか?」
この問題にはいくつかのアプローチがあります。
Soundexなどの音声アルゴリズムを使用して、似ている一致を見つけることができます。
PostgreSQL にはfuzzystrmatchという名前のモジュールがあり、ドキュメントには Soundex、Levenshtein、Metaphone、Double Metaphone の使用例が示されています。
ユーザーが結果を返さないときに再入力したもののリストをGoogleが保持していることを読んだことは確かです。これらの値のマッピングを保持できます (再入力された文字列が同じ文字で始まる場合など)。