Solr

Solr
Solr

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 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, 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 février 2015, 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 juillet 2019, 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 Sharding (en) - Permet la scalabilité par rapport au volume de documents indexés

Clusterisation des résultats de recherche basée sur Carrot2 (en)

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 champ

Auto-suggestion

Voir aussi

Liens externes

(en) Site officiel

(en) Conférence annuelle sur Solr

Notes et références

Portail des logiciels libres

La liste des mots commençant par Solr est la suivante :