Retour

Introduction à Elasticsearch

Publié le 15 janvier 2026
par Kinga Team
I

Quand une application grandit, la recherche devient vite un point faible : les utilisateurs tapent quelques mots et s'attendent à trouver le bon résultat en une fraction de seconde, même avec une faute de frappe. Une base de données classique n'est pas conçue pour cela. Elasticsearch, lui, l'est.

Qu'est-ce qu'Elasticsearch ?

Elasticsearch est un moteur de recherche et d'analyse distribué. On lui envoie des documents au format JSON, il les indexe, puis il permet de les interroger très rapidement, par mots-clés, par filtres ou par agrégations.

Il ne remplace pas la base de données principale d'une application. Il vient à côté : la base reste la source de vérité, et Elasticsearch reçoit une copie des données, organisée pour la recherche.

Pourquoi est-il si rapide ?

Une base relationnelle qui exécute LIKE '%mot%' doit parcourir les lignes une à une. Elasticsearch construit à l'avance un index inversé : pour chaque mot, il garde la liste des documents qui le contiennent, comme l'index à la fin d'un livre. Chercher un mot revient alors à consulter cette liste, pas à relire tous les documents.

Avant l'indexation, le texte est analysé : découpé en mots, mis en minuscules, débarrassé des accents ou ramené à sa racine selon la langue. C'est ce qui permet de trouver « hébergements » en tapant « hebergement ».

Les notions à connaître

  • Document : un objet JSON, par exemple un produit ou un article.
  • Index : une collection de documents du même type, l'équivalent d'une table.
  • Mapping : la description des champs et de leur type (texte, nombre, date…).
  • Shard : un morceau d'index. Répartir un index en plusieurs shards sur plusieurs machines permet de monter en charge.
  • Score : la note de pertinence que le moteur attribue à chaque résultat.

À quoi ça sert, concrètement ?

  • Recherche dans un catalogue : produits d'une boutique en ligne, avec filtres par prix, catégorie ou disponibilité.
  • Suggestions pendant la saisie et tolérance aux fautes de frappe.
  • Analyse de journaux : centraliser les logs de plusieurs serveurs et y retrouver une erreur en quelques secondes.
  • Tableaux de bord : compter, regrouper et suivre des indicateurs sur de gros volumes.

Quand ne pas l'utiliser

Elasticsearch ajoute un composant à installer, surveiller et maintenir. Pour quelques milliers de lignes, la recherche plein texte intégrée à PostgreSQL ou MySQL suffit souvent. Il n'est pas non plus fait pour les transactions : une commande ou un paiement doivent rester dans la base principale.

Par où commencer

Le plus simple est de choisir un seul cas d'usage, par exemple la recherche de produits, d'y indexer une copie des données et de mesurer le résultat. Le soin apporté au mapping et à l'analyse du texte fait l'essentiel de la qualité de la recherche : c'est là qu'il faut investir du temps.

Vous avez un projet de recherche ou d'analyse de données ? Parlons-en : nous pouvons vous aider à choisir l'outil adapté à votre volume et à votre budget.

Partager cet article