2010-01-06 20 views
25

¿Puedo usar Lucene con PHP? No quiero usar Zend. ¿Puedo usar en PHP nativo (no en framework)?Lucene con PHP

+1

"Can I" es una pregunta muy amplia. Por supuesto que puede". Sin embargo, ¿es razonable? Por favor expanda su pregunta para ilustrar cómo piensa usarla. – gahooa

+0

Quiero usar la búsqueda de texto completo con Lucene. MySQL es demasiado lento para buscar más de 8 millones de registros. Por lo tanto, quiero probar con Lucene – saturngod

Respuesta

27

Recomendaría usar Apache SOLR como su back-end Lucene y conectarse a través de llamadas de servicio web desde su código PHP.

También me gustaría destacar que es fácil seleccionar y elegir los componentes de Zend Framework para usar en su aplicación sin cargar todo el marco. Puede usar Zend_Search_Lucene en su sitio y renunciar a Zend's MVC, base de datos y componentes relacionados.

+0

Gracias. Lo intentaré con Apache SOLR – saturngod

+7

Me gustaría etiquetar a eso una recomendación (preferencia personal) que use JSON en lugar de XML para recuperar sus resultados. – Brian

4

También vale la pena señalar, SOLR (http://lucene.apache.org/solr/) tiene una API HTTP simple, y está construida sobre Lucene, por lo que si proporciona lo que necesita, ¡entonces esa es una respuesta fácil!

No tengo experiencia directa con Lucene con PHP, por lo que voy a ceder a los expertos en eso.

2

Cuando dice que no quiere usar Zend, asumo que quiere decir que no quiere usar todo el Zend Framework. No es necesario, los componentes individuales de Zend se pueden usar solos sin necesidad de ser parte de un proyecto de Zend framework.

+0

cómo? hay un todo? – siniradam

+2

Bueno, escribí esta respuesta hace más de 5 años y en ese entonces simplemente descargaría la infraestructura, la incluiría en una ruta de inclusión y luego requeriría -uno del archivo que necesitaba (por ejemplo, Zend/Lucene/Search.php), o usaría la carga automática, y accede a la clase como en los documentos. Hoy en día tenemos compositor que lo hace mucho más fácil. Zend Lucence de Zend 1 está realmente disponible en compositor - https://packagist.org/packages/zf1/zend-search-lucene. Las instrucciones sobre cómo usar el compositor se pueden encontrar aquí: https://getcomposer.org/doc/01-basic-usage.md – Gnuffo1

1

estoy usando Lucene con el sistema haciendo PHP pide a Java, por ejemplo:

java ... .SearchFiles -index C:\shop\system\index -high -queries Computer* 

he adaptado SearchFiles para producir código HTML, pero la salida puede ser también el código PHP dinámica (por ejemplo, una matriz sosteniendo los resultados de búsqueda).

El sistema es muy rápido y no necesita más que Java en el servidor.

-3

Sí se puede simplemente codificar un módulo de java para la indexación y búsqueda propósito utilizando la biblioteca Apache Lucene. Luego puede fusionarlo con el módulo php con php/java bridge o SOAP. Será una experiencia de aprendizaje bastante buena para ti.