2009-08-23 21 views
15

He oído mucho sobre Lucene, que es una de las mejores bibliotecas de motores de búsqueda en Java. ¿Hay alguna biblioteca similar (tan poderosa) para Ruby?Ruby alternativa para Lucene

Respuesta

21

Bueno, hay Ferret, que es un puerto de Lucene a Ruby. Además, Lucene es muy fácil de usar desde el JRuby, si esa es una opción para usted.

Dependiendo de sus necesidades, es posible que también desee echar un vistazo a Solr, que es un front-end de nivel superior construido en Lucene. Hay una interfaz de Ruby, solr-ruby, que interactúa con Solr a través de HTTP.

+0

Algunas personas me han recomendado [sunspot] (http://sunspot.github.io), que se basa en RSolr, pero no lo he probado personalmente. –

6

Ferret es lo que está buscando:

". Hurón es un alto rendimiento, biblioteca del motor de búsqueda de texto con todas las funciones escritas para Ruby Se inspira en el proyecto Apache Lucene Java"

+2

Bueno seguramente se puede poner el alto rendimiento en cuestión. Lo encuentro mortalmente lento. – Lothar

+1

¿Puedes compartir los números de rendimiento? ¿Te gusta x segundos para devolver una búsqueda en y documentos/filas/lo que sea? –

+1

No tengo experiencia personal con Ferret, pero a juzgar por lo que he leído y esta página: http://ferret.davebalmain.com/trac/wiki/MyFirstBenchmark solía ser lento, pero ahora es comparable con Java Lucene. Hay números de rendimiento en esa página. YMMV. – RichieHindle

0

desafortunadamente, en la mayoría de los casos, hurón no es lo que estás buscando, tiene problemas recurrentes con velocidad de indexación, corrupción de índice y segfaults en el servidor. Creo que la mayoría de la gente va a SOLR, sphinx y Xapian. Recuerdo haber visto algunas aplicaciones/postgres tsearch mencionados, Tsearch parece ser una solución de fuerza industrial

Echa un vistazo aquí

Full Text Searching with Rails