Prise en main de Solr
Avec cette Formation Solr, vous comprendrez l’architecture d’Apache Solr et maîtriserez son utilisation pour indexer et rechercher efficacement des données et documents. Cette formation Solr aborde l’installation, la configuration, la modélisation de schémas, l’analyse de texte et les techniques de requêtage.
Durée : 2 jours (14 heures)
Nombre d’étudiants : 6 maximum
Objectifs pédagogiques
À l’issue de cette formation Solr, les participants seront capables de :
- Comprendre les fondements de la recherche d’information
- Comprendre l’architecture d’Apache Solr et notamment l’architecture mono-serveur et l’architecture distribuée SolrCloud avec Zookeeper
- Installer et configurer un serveur Solr
- Maîtriser les techniques d’indexation et de définitions de schémas pour différents types de données
- Administrer un serveur Solr (gestion des cores/collections, monitoring, maintenance)
- Interroger Solr avec les différents parseurs de requêtes, leurs syntaxes et leurs cas d’usage
- Optimiser la pertinence et les performances des résultats de recherche grâce aux paramétrages avancés (analyse de texte, scoring)
- Implémenter les fonctionnalités principales de Solr : autocomplétion, surbrillance, facettes, synonymes
- Comprendre les API Solr et leurs rôles
Le formateur
Expert Apache Solr avec plus de 10 années d’expérience en architecture et implémentation de moteurs de recherche en environnement de production.
Programme
- Introduction à la Recherche d’Information (RI)
- Présentation d’Apache Solr
- Architecture distribuée avec SolrCloud et Zookeeper
- Installation et configuration de Solr
- Configuration d’une collection Solr
- Modélisation des données et analyse de texte : le schéma (schema.xml)
- Indexation de données
- Rôle des commits et des searchers
- Opérations sur les documents
- Recherche avec le parser Lucene (standard)
- Recherche avec le parser eDismax
- Recherche avancées
- Optimisation des recherches : performance et pertinence
- Facettes (Faceting) et statistiques
- Tri et Function Queries
- Debug et analyse des résultats
1. Introduction à la Recherche d’Information (RI)
- Concepts fondamentaux de la recherche plein texte
- Différence entre RI Web générique, spécialisée et entreprise
- Index inversé et calcul de pertinence (TF-IDF, BM25)
- Limites des bases de données relationnelles pour la recherche
2. Présentation d’Apache Solr
- Architecture générale
- Positionnement dans l’écosystème NoSQL
- Solr Standalone vs SolrCloud
- Les APIs Solr (indexation, recherche, administration)
3. Architecture distribuée avec SolrCloud
- Concepts de collections, shards et replicas
- Rôle de Zookeeper dans la coordination du cluster
- Scalabilité horizontale et haute disponibilité
- Indexation et recherche « Near Real Time »
4. Installation et configuration de Solr
- Prérequis système (Java, Linux/Windows)
- Configuration de l’OS (swap, limites, mémoire)
- Installation classique et sous Docker
- Configuration du fichier solr.in.sh
5. Structure d’une collection Solr
- Fichiers de configuration : solrconfig.xml et schema.xml
- ConfigSets et gestion centralisée avec Zookeeper
- Création et administration de collections
- Les RequestHandlers et leur rôle
6. Modélisation des données : le schéma (schema.xml)
- Types de champs : text, string, date, numérique, booléen, géographique
- Attributs des champs : indexed, stored, docValues, multiValued
- Différence entre types text et string
- Directive copyField pour indexation multiple
7. Analyse de texte pour les champs « text »
- CharFilters : HTMLStrip, Mapping, PatternReplace
- Tokenizers : WhiteSpace, Standard, Keyword
- Filters essentiels : LowerCase, StopFilter, ASCIIFolding
- Stemming et gestion linguistique (français, autres langues)
8. Fonctionnalités avancées d’analyse
- Gestion des synonymes (index-time vs query-time)
- Filtres phonétiques (DoubleMetaphone, Soundex)
- Word Delimiter et gestion des termes composés
- Console de test d’analyse dans l’interface Solr
9. Indexation de données
- Formats supportés : JSON, XML, CSV
- Utilisation de l’API Update (HTTP)
- Solr Post Utility et Console Solr
- Indexation via curl et bibliothèques clientes
10. Gestion des commits et des searchers
- Différents types de commits : explicit, autoCommit, autoSoftCommit
- Configuration du commitWithin
- Impact sur la visibilité des modifications
- Bonnes pratiques d’indexation
11. Opérations sur les documents
- Ajout et mise à jour de documents
- Suppression par ID ou par requête
- Mises à jour atomiques (set, add, remove, inc)
- Gestion de la clé unique (uniqueKey)
12. Recherche avec le parser Lucene (standard)
- Syntaxe booléenne : AND, OR, NOT, +, –
- Opérateurs de recherche : wildcards, fuzzy, proximité
- Recherche par intervalle et recherche de dates
- Boost de termes pour influencer le score
13. Recherche avec le parser eDismax
- Paramètres principaux : q, qf, mm
- Minimum Should Match (mm) : stratégies strictes et souples
- Boost par champ dans le paramètre qf
- Avantages par rapport au parser standard
14. FilterQueries (fq) et optimisation
- Rôle des filterQueries dans le filtrage des résultats
- Impact sur le score et mise en cache
- Filter Cache et stratégies de réutilisation
- Syntaxe et cas d’usage
15. Tri et Function Queries
- Tri par score, par champ ou par fonction
- Tri multi-critères
- Function Queries pour influencer le score
- Boost de fraîcheur et boost de popularité
16. Facettes (Faceting)
- Term faceting sur champs string
- Query faceting pour intervalles personnalisés
- Range faceting et Interval faceting
- Configuration : facet.limit, facet.mincount, facet.method
- JSON Facet API
17. Fonctionnalités de recherche avancées
- Highlighting (surbrillance des termes)
- Stats : statistiques sur champs numériques et dates
- Composants de recherche et leur activation
- Configuration des SearchComponents
18. Spellchecking (correction orthographique)
- Suggestion de requêtes alternatives (« Did you mean? »)
- Sources de données : DirectSolrSpellChecker, FileBasedSpellChecker
- Configuration et paramètres (spellcheck.count, spellcheck.collate)
- Stratégies de basculement sur requête alternative
19. Autocomplétion et suggestions
- Différentes approches : Suggester, Spellchecker, recherche Solr
- Utilisation du Shingle Filter pour suggestions
- Cas d’usage et implémentation
- Query Elevation pour promotion de documents
20. Debug et analyse des résultats
Méthode pédagogique
- Présentation
- Exercices
- Tests
- Q&A
Ressources
- Le support de cours est fourni à l’issue de la formation
- ☁️ Un environnement de travail dans le cloud est mis à disposition pour les manipulations et les exercices. Il reste disponible une semaine à l’issue de la formation
- 📧 Support mail 1 mois post-formation : Le formateur reste disponible par mail à l’issue de la formation pour répondre aux questions et préciser certains points abordés.
Public cible
Développeurs, architectes, chefs de projets techniques et administrateurs impliqués dans des projets de recherche documentaire qui nécessitent des solutions de recherche performantes et évolutives dans des sources de données volumineuses.
Pré-requis
- Connaissances
- Notions de recherche d’informations
- Connaissances de base en XML et JSON
- Le jour de la formation, disposer d’un ordinateur portable sous Windows, MacOS ou Linux avec :
- Navigateur web récent
- Éditeur de texte
- Client SSH (ex: Putty sous Windows, Terminal sous MacOS/Linux)
- Client SCP/SFTP (ex: WinSCP, FileZilla)
- Curl ou outil équivalent (wget, Postman)
Modalités
- Inter-entreprises : dans nos locaux parisiens ou à distance
- Intra-entreprise : dans vos locaux partout en France, dans nos locaux parisiens ou à distance
Dans le cadre d’une formation intra-entreprise, un échange préalable nous permettra de cadrer les attentes et adapter le contenu à votre contexte
Tarif
Formation de 2 jours dans nos locaux parisiens : 1 590 € HT par personne
Ce tarif de référence peut varier selon la modalité choisie (intra-entreprise, à distance). Nous consulter pour un devis personnalisé.
Des questions ? Contactez-nous :
📧 dominique.bejean@eolya.fr
💼 LinkedIn