Site icon Eolya Consulting

Formation – Moteur de recherche Apache Solr

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 :

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

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
Programme détaillé

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

Ressources

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

Modalités

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

Quitter la version mobile