この質問は私にとって挑戦です。私の友人はその方法を教えてくれませんが、彼は本当に優れたプログラマーです (私はそう思います)。
ユーザーはデータベースに文章を入れることができます。ユーザーが文を入力すると、sentences
テーブルに保存されます。次に、文が単語に分割され、単語の各 soundex が分割されたtags
文の id と共にテーブルに保存されます。
最後に、単語の各 soundax がweights
テーブルに配置されます。同じ soundex が既に存在する場合、関数はcounter
この soundex に 1 を追加します。
(知らない人のために:soundexは、文字列の音声表現(聞こえ方)を返す関数です)
データベースの構造: 1 つのテーブルsentences
に 2 つの行が含まれます:id
とsentence
. 他のテーブルtags
にはid
、(with は文の ID) とtag
(with は文の 1 つの単語) が含まれています。
tag
はただの言葉ではなく、この言葉の響きです。最後のテーブルにはandweights
が含まれています( is number を使用すると、 table にこのようなタグがいくつあるかがわかります)tag
weight
tags
私の質問は、指定された文字列に似た文を返す関数をどのように作成できるかです。タグ (単語の音声) を使用する必要があり、各タグはweights
テーブルに基づいて独自の権限を持つ必要があります。よく使われるタグほど重要であり、オリジナルタグよりも重要です。たった1つのmysqlクエリで実行できますか?
次の質問: このような類似文の検索方法は良いと思いますが、この機能の速度はどうですか? 私のサイトで非常に頻繁に使用する必要があります。