Présentation de Lucene Solr

Publié le septembre 18, 2008

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

Tags: ,

3 Responses to “Présentation de Lucene Solr”

  1. Pierre-Alain
    fév 05, 2009
    Reply

    Intéressant,

    Cela décrit bien le paysage Solr actuel.
    Une question toutefois :
    Quelle est la différence entre les builds nocturnes et la version Solr “normale”

    Cordialement.


  2. admin
    fév 05, 2009
    Reply

    Les builds nocturnes permettent de travailler avec les versions les plus récentes des développements, mais n’offrent pas les garanties de stabilité d’une version officielle.


  3. Pierre-Alain
    fév 05, 2009
    Reply

    Merci pour cette précision.



Laissez un commentaire