ユーザーが生成したコンテンツを格納する MySQL テーブルがあります。コンテンツごとに、タイトル (VARCHAR 255) と説明 (TEXT) 列があります。
ユーザーがレコードを表示しているときに、タイトル/説明が類似していることに基づいて、それに「類似」している他のレコードを見つけたいと考えています。
これを行う最善の方法は何ですか?PHPとMySQLを使用しています。
私の最初のアイデアは次のとおりです。
1) タイトルと説明から一般的な単語を取り除き、「固有の」キーワードを残してから、それらのキーワードを共有する他のレコードを見つけます。
たとえば、「ボブは午前 5 時に起きて学校に行きました」という文の場合、キーワードは「ボブ、目が覚めました、5、行きました、学校」になります。次に、タイトルが「ボブ」と「学校」について語っている別のレコードがある場合、それらは「類似」と見なされます。
2) または、MySQL の全文検索を使用しますが、これがこのようなものに役立つかどうかはわかりません。
2 つのうちどちらの方法が優れているでしょうか、またはさらに優れた別の方法はありますか?