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.
Yeah, Zend Lucene ist keine Leistung für Java. – demonkoryu