Lucene项目的Zend Lucene港口令我感到沮丧.我有一点SOLR的经验,所以我想知道两者之间的区别,特别是从性能和安装方面.
就像我所知道的,SOLR需要在托管中运行Tomcat serverlet才能工作,Zend Lucene库呢?
我也有点混淆什么意思是“在Lucene的顶层实施”?
Java Lucene及其所有其他语言的端口,包括Zend Lucene,都是搜索库.
原文链接:https://www.f2er.com/php/139750.html这意味着为了使用Zend Lucene,您必须将其包装在其他(PHP)代码中,这样就可以将搜索与您的其他应用程序集成.该代码通常需要管理索引,检索和通常一些Lucene的内部管理.您可以使用PHP函数调用与Zend Lucene进行通信.
Solr,OTOH,是一个基于Lucene的搜索服务器.这意味着Solr实例可以作为servlet容器中的独立服务器webapp运行(可能是Tomcat,Jetty或其他几个此类程序之一).与Lucene应用程序相比,设置Solr服务器要容易得多.您可以使用Solr做很多工作,而无需编写单行Java – 只需调整一些XML配置文件即可.设置Solr服务器可能需要几分钟的时间.与Solr通信的默认方式是使用HTTP调用.
所以基本上Zend Lucene安装需要一个PHP服务器,并使用PHP库进行适当的索引和检索. Solr安装需要运行Java servlet容器并将war文件部署到其中.
关于性能,Solr有很多Lucene缓存和其他参数优化.此外,我相信Zend Lucene比Java Lucene慢,所以我的打赌是Solr会更快,但这真的取决于具体的应用程序.