2009-08-23 4 views
15

J'ai souvent entendu parler de Lucene, c'est l'une des meilleures bibliothèques de moteurs de recherche de Java. Y a-t-il une bibliothèque similaire (aussi puissante) pour Ruby?Ruby alternative pour Lucene

Répondre

21

Eh bien, il y a Ferret, qui est un port de Lucene à Ruby. En outre, Lucene est très facile à utiliser de JRuby, si c'est une option pour vous.

En fonction de vos besoins, vous pouvez également jeter un oeil à Solr, qui est un frontal de plus haut niveau construit sur Lucene. Il y a une interface Ruby, solr-ruby, qui interagit avec Solr via HTTP.

+0

Quelques personnes m'ont recommandé [sunspot] (http://sunspot.github.io), qui se base sur RSolr, mais je ne l'ai pas personnellement essayé. –

6

Ferret est ce que vous cherchez:

«. Ferret est une bibliothèque de moteur de recherche de haute performance, le texte complet écrit pour Ruby Il est inspiré par le projet Apache Lucene Java »

+2

Eh bien, vous pouvez certainement mettre la haute performance en question. Je le trouve mortellement lent. – Lothar

+1

Pouvez-vous partager des numéros de performance? Comme x secondes pour retourner une recherche sur y documents/lignes/quoi? –

+1

Je n'ai aucune expérience personnelle avec Ferret, mais à en juger par ce que j'ai lu et cette page: http://ferret.davebalmain.com/trac/wiki/MyFirstBenchmark il était lent mais est maintenant comparable avec Java Lucene. Il y a des numéros de performance sur cette page. YMMV. – RichieHindle

0

Malheureusement, dans la plupart des cas, le furet n'est pas ce que vous cherchez, il a des problèmes récurrents avec la vitesse de réindexation, la corruption d'index et les erreurs de segmentation sur le serveur. Je pense que la plupart des gens vont à SOLR, sphinx et Xapian. Je me souviens avoir vu des applications tsearch/postgres mentionnées, tsearch semble être une solution résistance industrielle

Jetez un coup d'oeil ici

Full Text Searching with Rails