我最近偶然发现了 Lucene 项目的 Zend Lucene 端口。我对 SOLR 有一点经验,所以我想知道它们两者之间有什么区别,特别是从性能和安装方面来看。
据我所知,SOLR 需要在 Web 托管中运行 Tomcat serverlet 才能工作,那么 Zend Lucene 库呢?
我也有点困惑“在 Lucene 之上实现”是什么意思?
Java Lucene 及其对其他语言(包括 Zend Lucene)的所有移植都是搜索图书馆.
这意味着为了使用 Zend Lucene,您必须将其包装在其他 (PHP) 代码中,以便将搜索与应用程序的其余部分集成。代码通常需要管理索引、检索以及 Lucene 的一些日常工作。您可以使用 PHP 函数调用与 Zend Lucene 进行通信。
Solr,OTOH,是一个搜索server构建在 Lucene 之上。这意味着 Solr 实例可以作为独立服务器 Web 应用程序在 servlet 容器(可以是 Tomcat、Jetty 或其他几个此类程序之一)中运行。设置 Solr 服务器比 Lucene 应用程序要容易得多。您可以使用 Solr 做很多事情,而无需编写一行 Java - 只需调整一些 XML 配置文件。设置 Solr 服务器可能只需几分钟。与 Solr 通信的默认方式是使用 HTTP 调用。
因此,基本上 Zend Lucene 安装需要有一个 PHP 服务器以及使用 PHP 库进行正确的索引和检索。 Solr 安装需要运行 Java servlet 容器并将 war 文件部署到其中。
在性能方面,Solr对Lucene缓存等参数进行了很多优化。另外,我相信 Zend Lucene 比 Java Lucene 慢,所以我打赌 Solr 会更快,但这实际上取决于具体的应用程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)