web-dev-qa-db-ja.com

全文検索:Whoosh Vs SOLR

私はDjangoプロジェクトに取り組んでおり、全文検索を実装する必要があります。SOLRを見て、同じことについていくつかの良いコメントを見つけました。しかし、Javaそして、Pythonと一緒にシステムにインストールするJava環境が必要です。SOLRと同等のpythonを探して、Whooshを見たことがありますがWhooshがSOLRと同じくらい効率的で強力かどうかはわかりません。それとも、SOLRオプションのみを使用するのでしょうか、それとも、WhooshとPythonを使用するSOLRよりも優れたオプションがあるのでしょうか。

提案してください。

前もって感謝します

32
Ankit Jaiswal

Whooshは、実際にはPythonのみの実装では非常に高速です。とはいえ、それでも少なくとも1桁は遅くなります。インデックス作成と検索に必要なデータの量、および最大許容レイテンシと同時検索の要件によっては、オプションではない場合があります。

SOLRは少し複雑な獣ですが、これまでで最も包括的な検索ソリューションです。 solrpy と混ぜると、すばらしい結果が得られます。はい、Javaホスティングが必要です。

xapianのpythonバインディング も確認することをお勧めします。 Xapianは非常に高速ですが、SOLRほど完全なソリューションではありません。ただし、GPLライセンスが付与されているため、実行可能かどうかはわかりません。

14
drxzcl

私はSOLRやNutchなどのLuceneおよびLucene拡張機能を使用しましたが、luceneが必要なものをほぼ満たしていることがわかりました。私はWhooshを一度だけ試しましたが、1)使用しているJava 2)UTF-8をWhooshで動作させるのに問題があったため、Luceneを選択しました(すぐに使用できるかどうかはわかりません) 。 Luceneでは、漢字の操作に問題はありませんでした。

プログラミング言語としてPythonを使用していて、Whooshがニーズを満たしている場合は、より良い統合のためにJavaの代替手段として使用することをお勧めします、外部を避けてください依存関係、追加機能をコーディングする必要がある場合のより迅速なカスタマイズ。

更新:Luceneの使用に興味がある場合は、Pythonラッパー: http://lucene.Apache.org/pylucene/ を参照)があります。

1
Manny