SOLR : Améliorer votre recherche

Solr

SOLR est une plateforme de recherche basée sur le langage Java et s’appuyant sur le moteur de recherche Lucene (http://fr.wikipedia.org/wiki/Lucene). L’ensemble a été créé par la Fondation Apache sous licence libre.

Pour fonctionner, SOLR doit être exécuté via un conteneur de servlets (nous utilisons Tomcat). Il communique avec le client à l’aide d’une programmation en XML et JSON, généralement via le protocole http.

Installation et configuration

Comme évoqué plus haut, SOLR a besoin de Java Runtime Environment (JRE) et de Tomcat pour fonctionner, donc il est nécessaire que ces deux outils soient installés sur la machine.

Il y a différentes façons d'installer SOLR que nous ne décrivons pas ici mais qu'on peut trouver sur des sites. Par contre pour télécharger les packages de SOLR, il faudra aller sur le site http://www.apache.org/dyn/closer.cgi/lucene/solr/ et prendre la version désirée pour votre application.

Une installation multi instance (ou multi-core) est tout aussi possible pour travailler sur plusieurs projets.

Voici les ressources pour l’installation de SOLR que nous avons utilisé :

Les fichiers de configuration de SOLR

Il existe 3 fichiers importants pour la configuration de SOLR :

solr.war

Un des fichiers indispensable car il contient à lui seul l’intégralité des objets (Classes) appelés par l’application SOLR pour pouvoir s’exécuter correctement suivant la configuration et  le schéma établit par l’administrateur du serveur.

Il peut être généré par l’administrateur ou utiliser avec la configuration par défaut, c’est-à-dire que l’administrateur peut modifier les classes objets à l’intérieur et le régénérer après compilation java.

schema.xml

Il contient la structure (ou schéma comme son nom l'indique) pour la sauvegarde des données, c’est-à-dire il décrit comment seront indexées les données dans SOLR. Il définit les types de données, les champs, la manipulation sur les données lors de l’indexation, les champs obligatoires, le champ de requête par défaut…

La maîtrise au niveau des paramétrages des champs amènera le système à avoir un résultat bien précis lors de la recherche.

solrconfig.xml

Il contient l’essentiel des paramètres liés au fonctionnement de SOLR et plus particulièrement des paramètres de l’API Lucene qu’utilise SOLR.

Notre expérience de SOLR sur Drupal

Pourquoi recourir à un autre outil alors que le CMS propose déjà son propre moteur de recherche ?

Justement, puisque la recherche native du CMS est limitée et cela dépendra aussi des besoins du client. Certains clients de Netapsys veulent pouvoir faire des recherches dans les contenus des fichiers PDF, DOC, PPT ou encore des recherches à facettes ou que son site présente un volume de données importantes ou encore de pouvoir proposer des synonymes ou des mots voisins ou des corrections orthographiques et sans oublier la recherche auto-completion...  C'est là que la puissance de SOLR entre en jeu et que la recherche native ne suffit plus.

Il existe deux (2) modules qui proposent l'utilisation de SOLR sur le CMS : Apache SOLR Search Intégration et search API SOLR. Chacun a sa particularité et dépendra des fonctionnalités voulues et des expériences des ingénieurs d'études et de développement. Par contre tout deux sont très puissants.

Avantages

Il est rapide, stable, performant, modulable et communauté très active.

Rapide

Il suffit d’exécuter l’URL de la requête et récupérer  les résultats attendus. Le résultat peut être sous forme XMl ou JSON.

Cette rapidité est très présente   lors de la récupération de données indexées depuis le serveur où repose SOLR puisque la requête ne se fait plus sur la base de données mais sur ce serveur.

Stable et performant

Recherche avancés et précise par l’intermédiaire des paramètres depuis l’URL de requêtes, mais aussi aux configurations initiales faites par l'administrateur.

Modulable

Utilisant Java, SOLR est multiplateforme. On peut aussi l'utiliser sur d'autres technologies.

Communauté très active

L’application tend à avancer et évoluer.  Actuellement, on est sur la version SOLR 4.9.

Conclusion

SOLR est un outil vraiment intéressant que nous préconisons d'utiliser. Nous l'avons plus utilisé sous Drupal mais cela n'empêchera pas de l'utiliser sur d'autres CMS comme WordPress ou d'autres technologies puisque comme évoqué tout au long de cet article, SOLR est fait pour améliorer les recherches.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *