2010-06-14 16 views
12

Recientemente me encontré con el proyecto Zend Lucene del puerto de Lucene. Tengo un poco de experiencia con SOLR, así que me gustaría saber cuál es la diferencia entre dos de ellos, especialmente desde el lado del rendimiento y la instalación.Zend_Search_Lucene vs SOLR

Por lo que sé SOLR requiere que el servidor de Tomcat se ejecute en el alojamiento web para funcionar, ¿qué pasa con la biblioteca de Zend Lucene?

También estoy un poco confundido, ¿qué significa "estar implementado en la parte superior de Lucene"?

Respuesta

18

Java Lucene, y todos sus puertos a otros idiomas, incluido Zend Lucene, son bibliotecas de búsqueda .

Esto significa que para usar Zend Lucene, debe envolverlo en otro código (PHP) que integrará la búsqueda con el resto de su aplicación. El código generalmente necesita administrar la indexación, la recuperación y, en general, el mantenimiento de Lucene. Te comunicas con Zend Lucene usando llamadas a función PHP.

Solr, OTOH, es una búsqueda servidor construida en la parte superior de Lucene. Esto significa que una instancia de Solr puede ejecutarse como una aplicación web de servidor independiente dentro de un contenedor de servlets (que podría ser Tomcat, Jetty o uno de varios programas similares). Es mucho más fácil configurar un servidor Solr que una aplicación Lucene. Puede hacer mucho con Solr sin escribir una sola línea de Java, simplemente modificando algunos archivos de configuración XML. La configuración de un servidor Solr puede tardar algunos minutos. La forma predeterminada de comunicarse con Solr es usar llamadas HTTP.

Así que, básicamente, la instalación de Zend Lucene requiere tener un servidor PHP y una indexación y recuperación adecuadas usando una biblioteca PHP. La instalación de Solr requiere ejecutar un contenedor de servlets Java y desplegar un archivo war en él.

En cuanto al rendimiento, Solr tiene muchos de los caché Lucene y otros parámetros optimizados. Además, creo que Zend Lucene es más lento que Java Lucene, así que mi apuesta es que Solr sería más rápido, pero esto realmente depende de la aplicación específica.

+0

Sí, Zend Lucene no es rival para el rendimiento de Java. – demonkoryu