
Retour aux formations
Autre
Optimiser les performances et la cohérence de vos moteurs de recherche avec Elastic et Node.js
3 jour(s) • 21h
Description
Cette formation permet d’optimiser la pertinence des résultats, de maintenir la cohérence entre votre base de données principale et votre index Elastic, et d’améliorer la performance globale des recherches. L’approche inclut la conception de pipelines d’indexation, la gestion des synchronisations, les règles de pertinence, et le monitoring.
Objectifs pédagogiques
- Comprendre le fonctionnement d’Elasticsearch et ses cas d’usage dans une API Node.js
- Intégrer Elasticsearch dans une application Express / TypeORM
- Concevoir une stratégie de synchronisation entre base relationnelle et index Elastic
- Optimiser les performances des recherches : scoring, analyzers, filtres, mapping
- Améliorer la pertinence des résultats et la rapidité de traitement
- Superviser et auditer les requêtes Elastic
Public concerné
Développeurs back-end, fullstack ou DevOps
Ingénieurs recherche / traitement de données
Architectes techniques
Prérequis
Connaissance de Node.js (Express, async/await, middlewares)
Notions de base NoSQL
Expérience avec une base relationnelle (MySQL ou PostgreSQL)
Bonnes bases en JavaScript
Déroulé du programme
1
Jour 1 – Introduction à Elasticsearch et intégration avec Node.js
- Présentation d’Elasticsearch et de la stack ELK (focus sur Elastic)
- Fonctionnement des index, shards, documents, types et mapping
- Elastic vs moteur SQL traditionnel
- Mise en place d’un cluster local Elastic avec Docker
- Connexion depuis Node.js avec la librairie @elastic/elasticsearch
- Indexation simple d’un document via API Node
- Notions de mapping statique, dynamique, et analyzers
- Travaux pratiques : Mise en place d’Elasticsearch en local avec Docker ; Connexion et test de requêtes Node → Elastic (via Postman ou REST client) ; Indexation d’un ensemble d’articles (titre, contenu, tags, date) ; Mapping manuel avec analyzers et normalizers.
2
Jour 2 – Requêtes avancées, pertinence et synchronisation avec la base de données
- Requêtes booléennes, multi-champs, fuzzy, autocomplete
- Tri, pagination, highlight des résultats
- Notion de scoring et fonctions personnalisées
- Gestion de la cohérence entre BDD (MySQL/PostgreSQL) et Elastic
- Pipelines d’indexation : hook dans les services métier (create, update, delete)
- Stratégie de réindexation globale et différentielle
- Gestion des erreurs et des mises à jour asynchrones
- Travaux pratiques : Création de routes Express avec recherche multi-critères sur Elastic ; Intégration des hooks TypeORM pour alimenter automatiquement les index; Ajout d’un système de resynchronisation complète (full reindexing) ; Implémentation de la recherche par suggestion (completion suggester).
3
Jour 3 – Optimisation, supervision, monitoring et test de performance
- Audit des requêtes lentes, analyse des scores
- Supervision avec Kibana ou requêtes API Elastic
- Optimisation des index : refresh interval, max result window, number of shards
- Sécurisation des accès : rôles, users, tokens
- Structuration du code : services, séparation des responsabilités
- Tests de charge et validation du comportement en cas de gros volume
- Bonnes pratiques pour la production (logs, résilience, sauvegardes)
- Travaux pratiques : Analyse des logs Elastic et supervision de la qualité des requêtes; Test de charge sur l’API de recherche avec Artillery / autocannon ; Optimisation du mapping pour améliorer le scoring; Déploiement simplifié sur une instance Elastic Cloud ou VPS ; Présentation d’un mini-projet de moteur de recherche finalisé.
Informations
Durée
3 jour(s)
21h
Tarif
Sur demande
Formations similaires

Autre
Module 11 : Techniques élémentaires de méthodes d’apprentissage
2 jour(s)
Sur demande

Autre
Accueil - Maîtrise des Incivilités et Prévention de l'Agressivité en Milieu Hospitalier - SAU de Cochin - Port Royal
2 jour(s)
Sur demande

Autre
Administering Microsoft SQL Server
5 jour(s)
Sur demande

Autre
Administering Windows Server Hybrid Core Infrastructure (AZ-800)
4 jour(s)
Sur demande