Zend_Search_Lucene vs SOLR

spa*_*key 12 php lucene solr zend-framework zend-search-lucene

我已经偶然发现了Lucene项目的Zend Lucene港口.我对SOLR有一点经验,所以我想知道其中两个特别是性能和安装方面有什么区别.

据我所知,SOLR需要运行在Web托管中的Tomcat serverlet才能工作,Zend Lucene库怎么样?

我对"在Lucene之上实施"意味着什么有点困惑?

Yuv*_*l F 18

Java Lucene及其所有其他语言的端口,包括Zend Lucene,都是搜索.

这意味着为了使用Zend Lucene,您必须将其包装在其他(PHP)代码中,以便将搜索与应用程序的其余部分集成.代码通常需要管理索引,检索以及Lucene的一些内务管理.您使用PHP函数调用与Zend Lucene进行通信.

Solr,OTOH,是一个建立在Lucene之上的搜索服务器.这意味着Solr实例可以作为servlet容器内的独立服务器webapp运行(可能是Tomcat,Jetty或其他几个此类程序之一).设置Solr服务器要比Lucene应用程序容易得多.你可以在不编写单行Java的情况下使用Solr做很多事情 - 只需调整一些XML配置文件即可.设置Solr服务器可能需要几分钟.与Solr通信的默认方式是使用HTTP调用.

因此,Zend Lucene安装基本上需要一个PHP服务器,并使用PHP库进行适当的索引和检索.Solr安装需要运行Java servlet容器并将war文件部署到其中.

关于性能,Solr有许多Lucene缓存和其他参数已经过优化.另外,我认为Zend Lucene比Java Lucene慢,所以我敢打赌Solr会更快,但这实际上取决于具体的应用程序.