1

ウェブサイトでデータベースからの検索を使いたいので、有効なアルゴリズムを考えています。たとえば、"Hello my name is xxx" を検索しようとすると、結果が表示されます。
Hello my name is John
Hello my name is Peter
Hello mr. xxx
彼の名前はピーターです
ここにいます

したがって、このテキストの一部を使用してデータベースからすべてのデータを検索し、一致する単語の数で結果を並べ替えたいと思います。

アルゴリズムを作成しましたが、非常に複雑で遅いのではないかと心配しています。検索テキストを単語に分割し、複数の like またはコマンドで SQL select を使用します。次に、この結果をリストに保存します。次に、各結果で一致した単語の数を数え、この数で並べ替えます。
問題は、長いテキストを検索しようとするときです。より良いアルゴリズムを使用する必要がありますか、それとも Sphinx のような思考について考える必要がありますか

4

1 に答える 1

1

最初の 2 つの結果については、単純な正規表現検索でそのような結果を取得できるはずです。後のものについては、データベース情報の検索に使用できるGoogle 検索アプライアンスなどの既存の検索ライブラリの使用を検討してください。

于 2013-06-08T11:06:27.390 に答える