Apache Solr

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Solr
Image illustrative de l'article Apache Solr
Logo

Développeur Fondation Apache
Dernière version 4.9 (25 juin 2014) [+/-]
Écrit en Java
Environnement Multiplate-forme
Type Moteur de recherche
Licence Licence Apache 2.0
Site web lucene.apache.org/solr/

Solr est une plateforme logicielle de recherche s'appuyant sur le moteur de recherche Lucene, créé par la Fondation Apache et distribuée et conçue sous licence libre.

Solr utilise le langage Java et est exécuté par un conteneur de servlets, comme par exemple Tomcat. Il communique avec le client à l'aide d'une interface de programmation en XML et JSON, généralement via le protocole HTTP.

Histoire[modifier | modifier le code]

Le développement de Solr démarre chez CNET Networks pour améliorer les capacités de recherche de l'entreprise.

Début 2006, CNET Networks décide de rendre le code public et de le confier à la fondation Apache.

En septembre 2008, Solr 1.3 sort avec de nombreuses améliorations, dont la recherche distribuée et des améliorations des performances.

Le 10 novembre 2009, Solr sort en version 1.4 et apporte également un nombre important de nouveautés[Lesquelles ?].

En mars 2011[1], les projets Lucene et Solr sont fusionnés. Le développement est commun, mais la distribution reste séparée. La numérotation des versions est identique sur les deux projets, Solr 3.1 vient juste après Solr 1.4.1. Avec la version 4.0, publiée en 2012, un tronc commun permet d'avoir une seule version. Elle apporte également des fonctionnalités supplémentaires pour la recherche distribuée. De plus, l'interface d'administration a été revue.

Fonctionnalités[modifier | modifier le code]

  • API HTTP/XML, JSON et bibliothèques pour les langages de script Python et Ruby.
  • Intégration des bases de données
  • Utilise la librairie Java Lucene pour la recherche full-text
  • Recherche à facettes
  • Surlignage des termes trouvés
  • Le langage de requêtage supporte les données structurées aussi bien que les données textes
  • JSON, XML, PHP, Ruby, Python, XSLT, Velocity et des formats de sorties binaires en Java par HTTP
  • Interface d'administration en HTML
  • Réplication vers d'autres serveurs Solr - permet la scalabilité par rapport aux requêtes QPS
  • Recherche distribuée par le (en)Sharding - Permet la scalabilité par rapport au volume de documents indexés
  • Clusterisation des résultats de recherche basée sur (en)Carrot2
  • Mécanisme d'extension par plugins
  • Flexibilité de la pertinence - boosts avec les function queries
  • Mise en cache - requêtes, filtres et documents
  • Embarcable dans une application Java
  • Recherche géospatiale
  • Gestion automatisée des clusters importants au travers de (en)Apache ZooKeeper
  • Regroupement des résultats par les valeurs d'un champ [2]
  • Auto-suggestion

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Notes et références[modifier | modifier le code]