私はDynamoDBにユーザープロファイルを格納させました。ここの主キーはIDです。キーはIDである必要があります。 ユーザプロファイルには、ユーザ名、友人などの情報が含まれています。 ここで最初の問題があります。ユーザAはユーザBを自分の名前で検索します。これが起こるたびに、完全なDynamoDBスキャンを実行したくありません。 私はすでにredisサーバーを持っているので、そこにusername-id-pairsを保存することはできます。ユーザー名を検索する発音アルゴリズム
だから実際の問題:私は何を探しますか? たとえば、私のユーザー名はEric1996です。私の友人は最後の桁を覚えていないので、Eric19を検索するだけです。 または、彼は最初に大文字を忘れてeric1996を検索したかもしれません。それ以外の場合は、erik1996、erick1996、erich1996のような名前のスペルが間違っている可能性があります。
私はその話題を少し見つけて、聞こえる言葉で言葉を検索する音声アルゴリズムと呼ばれるものがあります。それは上記の例を修正します。 しかし、そのようなアルゴリズムは他のユーザー名にも有効でしょうか?今では、実際に3x0ticの名前をつけたり、ランダムな文字を使用したりするユーザーもいます。私は自分自身をdadddddx__7のようなものと呼んでいる人をオンラインで知っている。 これは、スペルの訂正者よりもはるかに難しいと思われます。ユーザの名前のスペルが間違っている可能性があるので、