スタンドアロンの全文検索サーバーの選択:SphinxまたはSOLR?[閉まっている]


192

次のプロパティを備えたスタンドアロンのフルテキスト検索サーバーを探しています。

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

これらのプロパティを持つ代替案は次のとおりです。

  • Solr(Luceneベース)
  • ElasticSearch(これもLuceneに基づいています)
  • スフィンクス

私の質問:

  • 彼らはどのように比較しますか?
  • 代替案を見逃しましたか?
  • ユースケースはそれぞれ異なりますが、特定のパッケージを使用したくない場合がありますか?

1
ストレートLuceneの使用を除外しましたか?Solrはluceneの上にあるサービスなので、まっすぐなLuceneがスタイルを変更する可能性があります。
デイブ

Luceneにはスタンドアロンサーバーモードがありますか?それはSOLRが追加したものの1つだと思いましたか?私は何も除外していません
ですから

mausch:主にJavaですが、他の言語もあります。
knorv 2009

個人的にはスフィンクスが好きです。ただし、最近の「大規模」プロジェクトでは、最新のリリース候補(0.9.9-rc2)で、多値配列(MVA)を使用するとストッパーバグが発生しました。ランダムな結果になります!そこで、これを回避するためにSOLRに移動しました。SOLRが稼働すると、パフォーマンスは問題なく、ショーストッパーバグはありませんでした。
pchap10k 2009

2
elasticsearch.comを見たことがありますか?
FYA 2011年

回答:


327

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

類似点:

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

ここにいくつかの違いがあります:

関連する質問:


4
SolrとLuceneの両方に取り組んでいる開発者について話すと、彼らは2つの製品を統合して、さらなる開発をより簡単かつ迅速に行っているようです-lucidimagination.com/blog/2010/03/26/…
jimmystormig

3
@スタン:どうやって?私はSolrを5年近く使用しており、Javaの1行を記述する必要はありませんでした。
Mauricio Scheffer、2011

@MauricioScheffer javaコードはC ++よりも高速になると本当に思いますか。ここでは、ビルKarwinとスフィンクスによる比較があり、物事10倍の速さのLuceneよりも照会します(とSolrのさらに遅いよりもゴッタがあります。)slideshare.net/billkarwin/...
スタン

3
@Stann:Solrを使用するいくつかのWebサイトに名前を付けるために、whitehouse.gov、Netflix、The Guardian、diggよりもパフォーマンスが必要だと本当に思いますか?wiki.apache.org/solr/PublicServers
Mauricio Scheffer

3
これはSolrでのこの回答に適したSphinxでの回答です
New Alexandria

48

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

Sphinxの利点:

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

Solrの利点:

  1. 拡張できます。
  2. Webアプリから直接ヒットできます。つまり、オートコンプリートのような検索で、AJAXを介してSolrサーバーに直接ヒットできます。

29
:Solrのは、JSON、PHP、Rubyの、PythonとJavaのバイナリフォーマットを含むXML以外の多くの応答作家持つlucene.apache.org/solr/api/org/apache/solr/request/...
マウリシオ・シェファー

24
Solr / Luceneのドキュメントがどれほどひどいかについて言及しましたか?機能を理解するためにJavadocをルートしなければならないということは、私のドキュメントではありません。
larf311 2009

3
私は、ウィキにリンクしておく必要があります。wiki.apache.org/solr/...
マウリシオ・シェファー

2
Macでのsphinx 0.9.9のインストールバグの修正に一日中費やしています。これまでのところ、まだ機能していません。バギーです。私は提案された非常に方法を使用しました。私は本当にイライラしています...
lkahtz

solrのドキュメントはスフィンクスほどよくありません。しかし、コミュニティは大きいです。そして、solrのソースコードを読むことで、いつでもすべてを把握できます。
タイラーロング

21

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

したがって、ポイントに答えるには:

どっち?なぜ?

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

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

代替案

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


13
1年半後にこの回答を読んで[投票]をクリックして、この回答を自分で書いたことがわかりました。笑。:DAこれに少し追加:18か月後、elasticsearchは優れた代替手段となり、まともなコミュニティも生まれました。かっこいい、盆栽がかっこいい!
Augiwan 2013年

アウグストゥス!そのぎこちない瞬間:D。では、Pythonウェブアプリの場合、今何が一番良いと思いますか?パフォーマンス、メモリ使用量、アイデアの設定のしやすさに基づくSolrまたはエラスティック検索?
Mevin Babu 2014

ウェブアプリがどの言語で書かれているかは関係ありません。ユースケースに基づいて選択してください!
Augiwan 2014

19

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


3
LocalSolrプラグインを使用してSolrで地理的検索を行うことができます:gissearch.com/localsolr
Mauricio Scheffer

1
1分で150万のドキュメントをINDEXできますか?SSD上の7zip(書き込みではなく、コンソールに出力する)ファイルから直接、その多くを読み取ることもできません!そして、それは2017年です!これらはどのような文書ですか?それはかなり素晴らしいです。注:1 分で150万のインデックスを検索するという意味ではなかったと思います。150万ドキュメントのインデックスの検索は、数秒で返るはずです(2009年でも)。
FastAl

2

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


ユーザーコミュニティは重要なポイントです。Sphinxフォーラムには、非常に親切な人々が何人かいますが、それ以外に強力なコミュニティはありません。
mlissner
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.