Présentation de Lucene Solr

La nouvelle version 1.3.0 de Solr est enfin disponible. Elle était très attendue des développeurs car la précédente version officielle datait déjà du 6 juin 2007 soit plus d’un an. Comme beaucoup, je travaillais avec les build nocturnes depuis déjà un certain temps.

Cette sortie est l’occasion de présenter Solr à ceux qui ne le connaissent pas encore.

Solr (on prononce “solar”) est une outil open source permettant de mettre en place des fonctionnalités de recherche dans différents types d’applications et notamment des sites web (mais pas seulement). Solr est basé sur Lucene que j’ai présenté dans un précédent article. Cette nouvelle version bénéficie des dernières évolutions de Lucene 2.3.x.

Comme Lucene, Solr est développé en Java. Il étend les fonctionnalités de Lucene et en simplifie la mise en oeuvre. Sorl fournit principalement 3 choses :

  • un web service d’indexation des données
  • un web service de recherche
  • une interface web d’administration

Avec Solr, les documents sont ajoutés à une collection via “XML over HTTP” (une requête HTTP en mode POST qui envoit des données XML décrivant le document à indexer), et les recherches sont faites avec au moyen d’une requête HTTP qui retourne un résultat au format XML (les documents correspondants à la requête). Le traitement des requêtes HTTP par Solr se fait au moyen d’une servlet (installé sous Tomcat par exemple).

Les 3 principaux avantages à utiliser Solr et non pas Lucene seul sont :

  • Le fonctionnement en mode services WEB (REST), c’est à dire, la possibilité d’indexer et de rechercher des documents sans la moindre ligne de code si ce n’est la construction des données XML pour l’indexation et l’exploitation des données XML retournées par une recherche
  • l’utilisation dans des applications écrites dans n’importe quel langage et permettant de communiquer en HTTP
  • Solr étend et optimise Lucene (performances, analyseurs de texte, monitoring, …)

Les fonctionnalité principales ajoutées à Lucene sont :

  • Configuration au moyen de fichiers XML
  • Mise en évidence des termes trouvés (Hit highlighting)
  • Navigateurs dans les résultats (Faceted search)
  • Gestion de cache
  • Une interface d’administration Web
  • Architecture extensible basée sur des plugin
  • Optimisation pour des hauts trafics Web
  • Statistiques

Pour comprendre le fonctionnement de Solr, je vous conseil ces articles (en anglais) :

Des acteurs Français dans le domaine de la recherche d’information utilisent Sorl ou Lucene comme socle de base à leurs solutions de recherche :

  • ARISEM
  • Lingway

3 Commentairess

  1. Pierre-Alain 5 février 2009
  2. admin 5 février 2009
  3. Pierre-Alain 5 février 2009

Laisser un commentaire

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