12

私は最近、LuceneプロジェクトのZendLuceneポートに遭遇しました。私はSOLRの経験が少しあるので、特にパフォーマンスとインストールの面で2つの違いを知りたいと思います。

私が知っている限り、SOLRが機能するには、Webホスティングで実行されているTomcatサーバーレットが必要ですが、Zend Luceneライブラリはどうですか?

また、「Luceneの上に実装される」とはどういう意味ですか?

4

2 に答える 2

18

Java Lucene、およびZend Luceneを含む他の言語へのすべての移植は、検索ライブラリです。

つまり、Zend Luceneを使用するには、他の(PHP)コードでラップする必要があります。これにより、検索がアプリケーションの他の部分と統合されます。コードは通常、Luceneのインデックス作成、取得、および通常はハウスキーピングを管理する必要があります。PHP関数呼び出しを使用してZendLuceneと通信します。

Solr、OTOHは、Lucene上に構築された検索サーバーです。これは、Solrインスタンスがサーブレットコンテナ内でスタンドアロンサーバーWebアプリとして実行できることを意味します(Tomcat、Jetty、または他のいくつかのそのようなプログラムの1つである可能性があります)。LuceneアプリケーションよりもSolrサーバーのセットアップがはるかに簡単です。いくつかのXML構成ファイルを微調整するだけで、Javaを1行も記述せずにSolrで多くのことを実行できます。Solrサーバーのセットアップには数分かかる場合があります。Solrと通信するためのデフォルトの方法は、HTTP呼び出しを使用することです。

したがって、基本的にZend Luceneのインストールには、PHPサーバーと、PHPライブラリを使用した適切なインデックス作成と取得が必要です。Solrをインストールするには、Javaサーブレットコンテナを実行し、それにwarファイルをデプロイする必要があります。

パフォーマンスに関しては、SolrはLuceneキャッシングおよびその他のパラメーターの多くを最適化しています。また、ZendLuceneはJavaLuceneよりも遅いと思うので、Solrの方が速いと思いますが、これは実際には特定のアプリケーションによって異なります。

于 2010-06-14T18:16:41.947 に答える
0

上記の答えは、この2つの比較からいくつかのコメントを取ります。

より詳細な分析については、これを確認することをお勧めします:

SolrとZendLuceneの比較

于 2014-03-28T19:12:04.983 に答える