2010-06-14 9 views
12

Ich bin gerade in Zend Lucene Port Lucene Projekt gestolpert. Ich habe ein wenig Erfahrung mit SOLR, also würde ich gerne wissen, was der Unterschied zwischen zwei von ihnen ist, besonders von der Performance- und Installationsseite.Zend_Search_Lucene vs SOLR

Soweit ich weiß, erfordert SOLR Tomcat Serverlet läuft im Web-Hosting, um zu arbeiten, was ist mit Zend Lucene-Bibliothek?

Ich bin auch ein bisschen verwirrt, was bedeutet "an der Spitze von Lucene implementiert werden"?

Antwort

18

Java Lucene und alle seine Ports zu anderen Sprachen, einschließlich Zend Lucene, sind Suche Bibliotheken.

Dies bedeutet, dass, um Zend Lucene zu verwenden, Sie es in anderen (PHP) Code einbinden müssen, der die Suche mit dem Rest Ihrer Anwendung integriert. Der Code muss in der Regel die Indexierung, das Retrieval und in der Regel die Verwaltung von Lucene verwalten. Sie kommunizieren mit Zend Lucene mit PHP Funktionsaufrufen.

Solr, OTOH, ist eine Suche Server auf Lucene gebaut. Dies bedeutet, dass eine Solr-Instanz als eigenständige Server-Webanwendung in einem Servlet-Container ausgeführt werden kann (das kann Tomcat, Jetty oder eines von mehreren anderen derartigen Programmen sein). Es ist viel einfacher, einen Solr-Server als eine Lucene-Anwendung einzurichten. Sie können viel mit Solr machen, ohne eine einzige Java-Zeile zu schreiben - nur indem Sie einige XML-Konfigurationsdateien optimieren. Das Einrichten eines Solr-Servers kann einige Minuten dauern. Die Standardmethode für die Kommunikation mit Solr ist die Verwendung von HTTP-Aufrufen.

Also im Grunde benötigt Zend Lucene Installation einen PHP-Server und ordnungsgemäße Indizierung und Retrieval mit einer PHP-Bibliothek. Die Solr-Installation erfordert das Ausführen eines Java-Servlet-Containers und das Bereitstellen einer WAR-Datei.

Hinsichtlich der Leistung hat Solr viele von Lucene Caching und andere Parameter optimiert. Außerdem glaube ich, dass Zend Lucene langsamer ist als Java Lucene, also wette ich, dass Solr schneller wäre, aber das hängt wirklich von der spezifischen Anwendung ab.

+0

Yeah, Zend Lucene ist keine Leistung für Java. – demonkoryu

0

Die Antwort oben nimmt einige Kommentare aus diesem Vergleich zwischen den beiden.

Für eine tiefergehende Analyse würde ich empfehlen, dies zu betrachten:

Comparison between Solr and Zend Lucene.