Besoin d'une recherche plein texte ? Facile avec Rails et Sunspot
Avant :
Client : "J'ai besoin d'une recherche plein texte sur mon application"
Prestataire : "Oui, nous pouvons faire ça, mais il faut compter x jours de boulot + x heures de test, etc ...."
Aujourd'hui :
Client : "J'ai besoin d'une recherche plein texte sur mon application"
Prestataire: "Pas de problème ! Donnez moi les informations à indexer avec les ordres de priorité et je vous fait ça en quelques heures !"
Effectivement, il est vraiment facile d’implémenter une recherche plein texte utilisant Solr en rails, grâce à la gem Sunspot et cela peut prendre moins de 5 minutes !
Je ne vais pas vous expliquer comment installer la gem mais vous donnez toutes les ressources qui vont vous permettre de le faire :
On commence par le site de Sunspot, qui montre quelques exemples de code : Sunspot
Le readme de la gem qui est en fait la documentation de celle-ci, à lire absolument pour voir qu'elles sont les nombreuses fonctionnalités que fournit cette gem : Readme
Le railscast, toujours aussi pratique (voir indispensable) pour voir comment la gem fonctionne : Railscast Sunspot
Un petit tuto bien sympa qui montre qu'on peut l’implémenter en moins de 5 minutes : Tuto
Pour une utilisation simple, ces ressources sont amplement suffisantes.
Petites astuces :
Il vous faut un Java Runtime Environnement installé sur votre machine, pour les utilisateurs d'ubuntu, un apt-get install de open jdk fera l'affaire.
Si vous utilisez un Engine avec vos models dans celui-ci, l'utilisation de la recherche sera faite dans les applications clientes. La méthode "rake sunspot:solr:reindex" ne fonctionnera pas. Il faut dans ce cas faire l'indexation manuellement en mode console : "MyEngine::Model.reindex" et "Sunspot.commit". Évidemment, ces 2 méthodes ne sont à faire qu’une seule fois et uniquement si vous avez mis en place Sunspot avec une base de données déjà remplie.
HF !
Railsement vôtre,
L'équipe JumboWeb













