![]() |
Licence Creative Commons by-nc-nd
(Paternité, pas d'utilisation commerciale, pas de modification) |
Solr est un serveur de recherche qui reprend les fonctionnalités de Apache Lucene et les étend pour ajouter notamment :
Solr est optimisé pour les sites à trafic élevé et permet des recherches distribuées ainsi que la réplication de ses index.
Les données à indexer peuvent se trouver dans une base de données, des fichiers texte structurés ou non, accessibles en local ou via HTTP. Il est aussi possible d'indexer des documents 'riches' (PDF, traitement de texte, HTML, etc.) en utilisant Apache Tika.
Des champs dynamiques peuvent être utilisés pour créer des index à la demande.
Des listes de mots vides, de synonymes ou de termes protégés peuvent être définies dans des fichiers de configuration externes au schéma.
Une API de type REST permet d'envoyer des données (indexation) et de recevoir des données (recherche) via XML, JSON ou en format binaire.
Dans mon précédent labo, je l'ai intégré à un développement web en PHP, conjointement à une base de données MySQL et eXist-db pour accélérer les fonctionnalités de recherche du site l'Édition électronique des Dossiers de Bouvard et Pécuchet . Je l'ai aussi utilisé intégré à Drupal via le module apachesolr pour le Dictionnaire des journalistes (1600-1789).
SolR est également utilisé comme "moteur d'affichage" sur Calenda, calendrier des sciences humaines et sociales développé par le Centre pour l'édition électronique ouverte (Cléo), MySql n'est plus utilisé que pour ses fonctions relationnelles, des vues étant créées sous forme de document SolR et utilisées pour l'intégralité de l'interface publique. Signalons enfin que le moteur de recherche intégré au site de Plume repose sur Apache SolR.
Solr requiert un moteur de servlets et Java 1.5
Sphinx GPL v2
Apache Software Foundation
La fondation Apache sert de support pour le développement et la liste des utilisateurs compte des sites comme : The Whitehouse, Jstor, SourceForge, Cisco, Apple, AT&T, etc.
Des sociétés de service proposent un support payant : http://wiki.apache.org/solr/Support
La documentation majoritairement en anglais est rassemblée dans un wiki : http://wiki.apache.org/solr/FrontPage
Dans une utilisation conjointe avec Drupal, il est conseillé, comme indiqué dans https://wiki.apache.org/solr/CoreAdmin, de mettre en place des "core", ce qui permet avec une seule installation de SolR de gérer plusieurs instances: développement, recette, production.
Les développements de Lucene et de Solr se font conjointement. Les contributions peuvent donc porter sur Lucene http://lucene.apache.org/core/developer.html ou directement sur Solr http://wiki.apache.org/solr/FAQ#Developing