Solr (prononcé comme le mot solar en anglais) est une plateforme logicielle de moteur de recherche s'appuyant sur la bibliothèque de recherche Lucene, créée par la Fondation Apache et distribuée et conçue sous licence libre.

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

Histoire Le développement de Solr démarre chez CNET Networks sous l'impulsion de Yonik Seeley (créateur du projet) 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 , Solr 1.3 sort avec de nombreuses améliorations, dont la recherche distribuée et des améliorations des performances.

Le , Solr sort en version 1.4 et apporte également un nombre important de nouveautés.

En http://lucene.apache.org/#31+March+2011+-+Lucene+Core+3.1+and+Solr+3.1+Available Fusion des projets Solr et Lucene, 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. La version 5.0, publiée en , apporte des nouveautés fonctionnelles telles que l'OCR (basé sur Tesseract intégré dans Tika 1.7), une meilleure simplicité d'utilisation grâce à de nouveaux scripts d'installation et de démarrage, ainsi que des améliorations liées à Solr Cloud.

En , l'équipe Apache Solr signale une vulnérabilité dans le code, corrigée un mois plus tard. En novembre de la même année, un chercheur en sécurité signale une autre faille importante pour Solr qui est utilisé par Adobe, Bloomberg, eBay, Goldman Sachs, Instagram et Netflix..

Fonctionnalités API HTTP/XML, JSON et bibliothèques pour les langages de script Python et Ruby. Intégration des bases de données Utilise la bibliothèque Java Lucene pour la recherche plein texte 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, CSV, 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 - Permet la scalabilité par rapport au volume de documents indexés Clusterisation des résultats de recherche basée sur Mécanisme d'extension par greffon Flexibilité de la pertinence - boosts avec les function queries Mise en cache - requêtes, filtres et documents Embarquable dans une application Java Recherche géospatiale Gestion automatisée des clusters importants au travers de Apache ZooKeeper Regroupement des résultats par les valeurs d'un champSolr Result Grouping Auto-suggestion

Voir aussi

Liens externes

Conférence annuelle sur Solr

Notes et références

Catégorie:Moteur de recherche (logiciel)