0

私は約 10,000 の記事を含む MySQL データベースを持っていますが、その数はおそらく時間とともに増加するでしょう。これらの記事を検索して、いくつかのキーワードに基づいて最も関連性の高い結果を引き出すことができるようにしたいと考えています。基本的にこれを行うことができる、プラグインできるプロジェクトがたくさんあることを私は知っています。ただし、このアプリケーションは非常に単純であり、全体がどのように動作するかを直接制御し、実用的な知識を持っていると便利です。したがって、Python で非常に単純な検索エンジンをゼロから構築することを検討したいと思います。

本当にどこから始めればよいかさえわかりません。MySQL DB からすべてをリストにダンプし、関連性に基づいてそのリストをソートしようとすることもできますが、データベース項目の量が増えるにつれて遅くなり、遅くなるようです。基本的な MySQL 検索を使用して、MySQL の考えから最も関連性の高い上位 100 件の結果を取得し、それらの 100 件を並べ替えることができます。範囲の。

これに対して私が取ることができる最善のアプローチは何ですか?

4

2 に答える 2

3

10,000件の記事に対して「検索エンジン」を実行するための最善の策は、TobySegaranによる「ProgrammingCollectiveIntelligence 」を読むことです。素晴らしい読み物とあなたの時間を節約するために2007年8月号の第4章に行ってください。

于 2013-02-15T06:41:24.313 に答える
0

MySQLデータベースを別のものに置き換えてもかまわない場合は、 pyesを使用してelasticsearchをお勧めします。

全文検索、優れたパフォーマンス、ページ付け、このようなプラグイン可能なスコアリングアルゴリズムなど、検索エンジンに期待される機能を備えており、リアルタイムであるため、データが追加されるとすぐに表示されます。検索結果で。

現在のデータベースを削除したくない場合は、それらを簡単に並べて実行し、MySQLをマスターとして扱うことができます。

于 2013-02-15T13:19:43.097 に答える