192

次のプロパティを持つスタンドアロンの全文検索サーバーを探しています。

  • 複数のクライアントからの検索要求を処理できるスタンドアロン サーバーとして動作する必要がある
  • SQL クエリの結果をインデックス化することにより、「一括インデックス化」を実行できる必要があります。たとえば、「SELECT id, text_to_index FROM documents;」と言います。
  • フリー ソフトウェアである必要があり、MySQL をデータベースとして Linux で実行する必要があります。
  • 高速である必要があります (MySQL の内部全文検索を除外します)

これらのプロパティを持つ私が見つけた代替手段は次のとおりです。

  • Solr (Lucene ベース)
  • ElasticSearch (これも Lucene に基づく)
  • スフィンクス

私の質問:

  • それらはどのように比較されますか?
  • 代替手段を逃したことがありますか?
  • それぞれのユース ケースが異なることは承知していますが、特定のパッケージを絶対に使用したくない特定のケースはありますか?
4

5 に答える 5

326

私はほぼ 2 年間 Solr を使用してきましたが、Sphinx を使用したことがないので、明らかに偏見があります。ただし、ドキュメントや他の人を引用することで、客観性を保つように努めます。また、回答にパッチを適用します:-)

類似点:

  • Solr と Sphinx の両方が、すべての要件を満たしています。これらは高速で、大量のデータを効率的に索引付けおよび検索するように設計されています。
  • どちらも、それらを使用しているトラフィックの多いサイトの長いリストを持っています ( SolrSphinx )
  • どちらも商用サポートを提供します。(ソルスフィンクス)
  • どちらも、複数のプラットフォーム/言語 ( SphinxSolr )のクライアント API バインディングを提供します。
  • どちらも速度と容量を増やすために配布できます ( SphinxSolr )

違いは次のとおりです。

関連する質問:

于 2009-08-19T02:32:46.067 に答える
49

独自の方法で検索機能を拡張する必要がない限り、Sphinx が最適です。

スフィンクスの利点:

  1. 開発とセットアップの高速化
  2. はるかに優れた (そして高速な) 集計。これは私たちにとってキラー機能でした。
  3. XML ではありません。これが、最終的に Solr を除外した理由です。Solr の集計が不足していたため、かなり大きな結果セット (数百の結果と考えてください) を返してから、それらを自分で集計する必要がありました。XML との間でシリアル化するのにかかる時間は、パフォーマンスを完全に損ないました。ただし、結果セットが小さい場合は、まったく問題ありませんでした。
  4. オープンソース アプリで見た中で最高のドキュメント

Solr の利点:

  1. 延長可能です。
  2. Web アプリから直接ヒットできます。つまり、オートコンプリートのような検索を AJAX 経由で Solr サーバーに直接ヒットさせることができます。
于 2009-08-16T13:11:25.383 に答える
21

注:同じ質問を念頭に置いているユーザーはたくさんいます。

だから、要点に答えるために:

どちらがなぜですか?

  • Webアプリ(サンプルサイトの検索エンジン)でSolrを使用する場合は、Solrを使用してください。そのAPIのおかげで、それは間違いなく素晴らしいものになるでしょう。あなたは間違いなくウェブアプリのためにその力を必要とするでしょう。

  • 大量のドキュメント/ファイルをすばやく検索したい場合は、Sphinxを使用してください。インデックスも非常に高速です。JSONやXMLの解析を含むアプリで検索結果を取得するために使用しないことをお勧めします。直接dB検索に使用します。MySQLでうまく機能します。

代替案

これらは巨人ですが、もっとたくさんあります。また、これらを使用してカスタムフレームワークを強化するものもあります。だから、私はあなたが本当に何も見逃していないと言うでしょう。優れたユーザーベースを持つelasticsearchが1つありますが。

于 2011-05-29T07:56:04.237 に答える
19

私はほぼ 1 年間 Sphinx を使用してきましたが、それは驚くべきものでした。MacBook では約 1 分で 150 万のドキュメントをインデックス化でき、サーバーではさらに高速です。また、Sphinx を使用して特定の緯度と経度内の場所に検索を制限していますが、非常に高速です。また、結果のランク付け方法は非常に微調整可能です。チュートリアルを 1 つか 2 つ読めば、インストールとセットアップは簡単です。ほぼ 1.0 の状態ですが、リリース候補は堅実です。

于 2009-08-16T13:21:22.540 に答える
2

Lucene/Solr は、より多くの機能を備えているように見え、ビジネスでの年数が長く、ユーザー コミュニティがはるかに強力です。一部の人が直面しているように見える(私たちではない)初期設定の問題を乗り越えることができるなら、私はLucene/Solrが最善の策だと思います。

于 2010-12-13T04:57:36.220 に答える