4

ユーザーがドキュメントをアップロードしたり、独自のドキュメントを作成したりできる Web アプリがあります。アップロードされたファイルは Amazon S3 に保存され、作成された情報は MySQL データベースに保存されます。私が探しているのは、ある種の検索エンジンで、それぞれに一意の ID を持つすべてのテキスト ドキュメントをフィードし、インデックスなどを作成します。後で、検索クエリを指定すると、一致するテキストのスニペットと共に、(ID を介して) 最も一致するドキュメントが引き出されます。

基本的に、他のユーザーが公開としてマークしたものと一緒に、アップロードされたもののリポジトリをユーザーが検索できるようにしたいと考えています。ソリューションは標準の Linux サーバーで実行する必要があり、オープン ソースであることが理想的ですが、法外な価格でなければ有料のソリューションも検討します。

これまでのところ、次の 3 つの候補が見つかりました。

  1. MySQL 全文検索- 私が読んだレポートの中には、非常に遅いというものがあります。
  2. Apache Lucene - 残念ながら Java で書かれていますが、必要に応じて使用します。おそらく速い
  3. Sphinx - それほど人気が​​ないようです。理想的には、私が見つけたソリューションには多くのコミュニティ サポートがあります。

私が見落としている他の良い選択肢があれば、または上記のいずれかの経験がある場合はお知らせください。

4

6 に答える 6

5

Solrを見てください。Lucene をベースにしているため、非常に高速で、どのプラットフォームからでも簡単に使用できます。

于 2008-09-29T16:12:50.320 に答える
2

Sphinxは、いくつかの一般的な RDMS (特に MySQL) でうまく機能するため、検討する価値があるかもしれません。

于 2008-09-29T16:15:17.147 に答える
1

高速でカスタマイズ可能な Xapianもあります。

カスタムインデクサーをサポートしているため、データベースに保存されていないデータにインデックスを付けることができます。これは、S3 に保存されているドキュメントに役立つ可能性があります。

于 2008-09-29T15:34:12.487 に答える
0

Googleには、お客様のニーズを満たすソリューションがあると思います。ここから開始: Google エンタープライズ

于 2008-09-22T22:26:56.247 に答える
0

「 Ferret 」と呼ばれる Lucene の Ruby ポートがあります。Ruby API に加えて、「cFerret」と呼ばれる基礎となる c 実装を取得できます。

于 2008-09-22T22:42:41.997 に答える
0

ルセンはとても良いです。そして、もともとはJavaで書かれていましたが、PHPの実装がありますhttp://framework.zend.com/manual/en/zend.search.lucene.html

于 2008-09-22T22:46:03.390 に答える