2009-06-03 17 views
14

Esto es Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL?, pero no es un duplicado de Comparison of full text search engine - Lucene, Sphinx, Postgresql, MySQL?, sin embargo, lo que estoy buscando son recomendaciones específicas respaldadas por el beneficio de la experiencia con más de uno de los sistemas disponibles (parece haber un montón de: "He usado lucene, pero no sphinx", y viceversa).php mysql búsqueda de texto completo: lucene, sphinx, o?

La configuración: LÁMPARA estándar (Mysql 5.0, PHP 5).

MySQL: mesas están utilizando el motor InnoDB de restricciones de clave externa

estamos buscando en los datos de indexación, no páginas. los datos que se indexarán pueden estar en varios idiomas (juego de caracteres utf-8)

Varias de las comparaciones que he encontrado (como http://blog.evanweaver.com/articles/2008/03/17/rails-search-benchmarks/) no son totalmente aplicables (hurón es un puerto lucene pero no es lo mismo que Zend_Search_Lucene) o están empujando sus propios sistemas/implementaciones (no exactamente imparcial).

Algunos otros que he encontrado (como http://whatstheplot.com/blog/tag/lucene/ y http://pagetracer.com/2008/02/15/sphinx-and-lucene-search-engines-first-impressions/) proporcionan resultados muy diferentes para el rendimiento de los dos sistemas.

Además, todo pero ignorado en gran parte de lo que he leído es Xapian. ¿Puede valer la pena considerar esto también?

Entonces ... Espero que algunos de ustedes aquí en SO tengan algo de experiencia con esta pregunta y podrían ayudar con algunas recomendaciones o apuntarme en la dirección correcta.

Respuesta

9

Una de las ventajas de Sphinx es que puede "interponerlo" entre sus clientes y el servidor MySQL, y solo "interferirá" en las consultas dirigidas específicamente a él, borrando transparentemente a los demás de MySQL - vea por ejemplo this article. Si eso es una ventaja en su caso de uso, ¡está en la mejor posición para decir!

Disculpe, ninguna experiencia de la vida real con Xapian o Lucene; aun así, al leer cómo implementarlas, suena como (¡a mí!) Como si valiera la pena solo si identificaba ventajas sustanciales. De lo contrario, el despliegue "fácil como una empanada" de Sphinx, como un "proxy" entre sus clientes y su servidor MySQL, ¡me parece una gran victoria sustancial!

+0

Sphinx parece tener muchas ventajas, pero dado que lucene tiene algunos defensores bastante vocales, esperaba escuchar de algunas personas con experiencia con ambos –

+2

Al final fui y probé la esfinge con la intención de probar Lucene (y quizás Xapian) sin embargo, sinceramente, se integró tan bien con una configuración de PHP/MySQL que me resulta difícil justificar pasar el tiempo con los demás. –

3

Miré Zend_Search_Lucene y Sphinx para un proyecto que suena similar - buscando contenido de la base de datos (en mi caso, información del libro). Pasé un día mirando cada uno. Por lo que vale, encontré que Sphinx es mucho más fácil de configurar y usar.

+0

+1 gracias por la comprensión. Me ha sorprendido gratamente con Sphinx hasta ahora, ha hecho que la integración de la búsqueda sea mucho más fácil de lo que esperaba. Una vez que el archivo db tenga más datos, podremos saber más. Todavía no he probado combinaciones de índices delta, pero espero que sean tan fáciles de implementar como parezcan. –

Cuestiones relacionadas