ウェブサイトでデータベースからの検索を使いたいので、有効なアルゴリズムを考えています。たとえば、"Hello my name is xxx" を検索しようとすると、結果が表示されます。
Hello my name is John
Hello my name is Peter
Hello mr. xxx
彼の名前はピーターです
彼はここにいます
したがって、このテキストの一部を使用してデータベースからすべてのデータを検索し、一致する単語の数で結果を並べ替えたいと思います。
アルゴリズムを作成しましたが、非常に複雑で遅いのではないかと心配しています。検索テキストを単語に分割し、複数の like またはコマンドで SQL select を使用します。次に、この結果をリストに保存します。次に、各結果で一致した単語の数を数え、この数で並べ替えます。
問題は、長いテキストを検索しようとするときです。より良いアルゴリズムを使用する必要がありますか、それとも Sphinx のような思考について考える必要がありますか