Ressources · Intégration n8n

Intégration Elasticsearch n8nAutomatiser Elasticsearch avec n8n.

Un index qui date, c'est une recherche qui ment. L'intégration Elasticsearch n8n pose dans le workflow un nœud de 9 opérations réparties sur 2 ressources, les documents et les index, pour écrire, relire et nettoyer la donnée sans repasser par la console.

Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth

Pourquoi automatiser

À quoi sert l'intégration Elasticsearch n8n ?

Le nœud Elasticsearch est livré avec n8n et parle à ton déploiement Elasticsearch via son API, avec un credential (un jeu d'identifiants enregistré une fois dans n8n) en basic auth : un nom d'utilisateur, un mot de passe, une URL de base. Il couvre 2 ressources. Côté documents : créer, lire, lister, mettre à jour, supprimer. Côté index : créer, lire, lister, supprimer. Soit 9 opérations, sans rien installer.

Premier cas, le journal d'événements consultable. Un Schedule Trigger relit toutes les heures les nouvelles lignes d'une base Postgres, et document.create les dépose dans un index avec Bulk Create activé, ce qui passe le lot par l'opération bulk au lieu d'une requête par ligne. L'équipe cherche dans l'historique sans demander un export à personne.

Deuxième cas, la fiche qui reste à jour. Un formulaire suivi dans Google Sheets change de statut, document.update réécrit les champs concernés pour ce Document ID, et document.get relit le résultat avant que la branche suivante ne s'exécute. Même logique pour une fiche produit enrichie depuis MySQL.

Troisième cas, l'entretien des index. index.getAll liste ce qui existe déjà, index.create ouvre l'index du mois avec ses Mappings et ses Settings, index.delete retire le plus ancien. Une rotation comme celle-là tourne toute seule et n'oblige personne à ouvrir un terminal.

Là où le nœud s'arrête est simple à poser. La recherche passe par l'option Query de Get Many, écrite en Query DSL Elasticsearch, et le nœud n'expose que les documents et les index. Tout ce qui sort de ces 2 ressources sort aussi de la liste des 9 opérations. Pour ces appels, le nœud HTTP Request attaque n'importe quel endpoint de l'API Elasticsearch en réutilisant le même credential via l'authentification prédéfinie : les identifiants restent à un seul endroit.

Un point à anticiper : cet outil n'a pas de nœud trigger dans n8n, donc rien ne réagit tout seul à un changement survenu dans le cluster. Le workflow démarre ailleurs, avec un Schedule Trigger à intervalle fixe, un Webhook n8n (une URL qu'un service tiers appelle quand il se passe quelque chose chez lui) ou le trigger d'un autre outil, et le nœud Elasticsearch écrit ou lit derrière. Si le choix de la plateforme n'est pas encore tranché, l'Avis n8n traite la question.

Connexion

Comment connecter Elasticsearch à n8n ?

  1. 01

    Créer le credential Elasticsearch

    Dans n8n, ouvre le menu Credentials et ajoute un credential Elasticsearch. Le nœud accepte uniquement la basic auth : il te faut donc un Username et un Password d'un compte Elasticsearch qui dispose déjà d'un déploiement. Le credential se crée une fois et sert dans tous les workflows, c'est pour ça que le nœud le propose ensuite dans une liste déroulante.

  2. 02

    Récupérer l'endpoint du déploiement

    Le troisième champ est la Base URL, l'endpoint de ton application Elasticsearch. Dans Elasticsearch, va dans Deployments, sélectionne ton déploiement, puis Manage this deployment. Dans la section Applications, copie l'endpoint affiché pour l'application Elasticsearch et colle-le dans n8n comme Base URL. Aucun autre champ n'entre en jeu.

  3. 03

    Choisir la ressource dans le nœud

    Pose un nœud Elasticsearch sur le canvas et sélectionne le credential dans sa liste. Choisis la ressource, Document ou Index, puis l'opération. Toutes les opérations sauf Get Many sur les index demandent un Index ID, et n8n bloque l'exécution quand un champ requis reste vide : pointe donc un nom fixe ou une expression du type {{ $json.index }}.

Actions

Les 9 opérations du nœud Elasticsearch

Le nœud Elasticsearch expose 9 opérations sur 2 ressources. Pour chacune : le nœud tel que tu le configures dans n8n, les champs obligatoires, et nos notes de terrain.

Matrice ressources × opérations
RessourceCreateGetGet ManyUpdateDelete
Document✓✓✓✓✓
Index✓✓✓✓

Document

5 opérations
01

Create a document

document.create

Ce que tu vois dans n8n

Notes & cas d'usage

Indexe un nouveau document dans un index existant et renvoie l'identifiant qu'Elasticsearch lui a attribué.

Paramètres clés

  • Index ID : l'index qui reçoit le document, souvent {{ $json.index }} quand le nom vient d'un nœud précédent.
  • Data to Send : Auto-Map Input Data to Columns envoie l'item entrant tel quel quand ses propriétés correspondent déjà aux champs du document ; Define Below for Each Column te laisse saisir chaque Field Name et Field Value à la main.
  • Bulk Create : passe par l'opération bulk pour créer plusieurs documents d'un coup.
Cas d'usage
alimenter un index de recherche depuis l'export nocturne d'une base, un document par ligne.
02

Delete a document

document.delete

Ce que tu vois dans n8n

Notes & cas d'usage

Retire un document d'un index. La suppression est ciblée : l'index reste en place avec tout ce qu'il contient par ailleurs.

Paramètres clés

  • Index ID : l'index qui contient le document à supprimer.
  • Document ID : l'identifiant exact du document, pas une valeur de champ qui ressemble à un titre.
  • Bulk Delete : bascule sur l'opération bulk quand une exécution doit nettoyer plusieurs documents.
Cas d'usage
supprimer la copie indexée d'un enregistrement archivé en amont, pour que la recherche cesse de renvoyer vers quelque chose qui n'existe plus.
03

Get a document

document.get

Ce que tu vois dans n8n

Notes & cas d'usage

Lit un document précis par son identifiant et transmet ses champs stockés au nœud suivant.

Paramètres clés

  • Index ID et Document ID : les deux sont requis, ils localisent le document sans passer par une recherche.
  • Simplify : renvoie une version allégée de la réponse au lieu de la donnée brute, plus facile à mapper ensuite.
  • Source Includes et Source Excludes : des listes de champs source séparées par des virgules, à garder ou à écarter de la réponse.
Cas d'usage
vérifier la version indexée d'une fiche avant de décider si une mise à jour vaut le coup.
04

Get many documents

document.getAll

Ce que tu vois dans n8n

Notes & cas d'usage

Interroge un index et ramène les documents qui correspondent. C'est le seul point d'entrée de recherche du nœud.

Paramètres clés

  • Index ID : l'index dans lequel chercher.
  • Query : la requête elle-même, en Query DSL Elasticsearch, par exemple { "query": { "term": { "user.id": "john" } } }.
  • Return All : activé, n8n enchaîne les pages de l'API et rapporte tous les résultats ; désactivé, Limit fixe le nombre maximal de documents renvoyés.
  • Sort : une liste de paires field:direction séparées par des virgules.
Cas d'usage
sortir tous les documents de commande d'un statut donné pour un rapport.
05

Update a document

document.update

Ce que tu vois dans n8n

Notes & cas d'usage

Réécrit les champs d'un document qui existe déjà, sans toucher au reste de l'index.

Paramètres clés

  • Document ID : le document à modifier, généralement repris du nœud qui l'a trouvé.
  • Fields to Send : la liste des champs à écrire, chacun avec son Field Name et sa Field Value.
  • Refresh : True rafraîchit les shards concernés pour que la modification soit visible tout de suite en recherche, Wait For attend un rafraîchissement, False ne fait rien.
  • Bulk Update : utilise l'opération bulk pour un lot de documents.
Cas d'usage
tenir à jour le niveau de stock d'un produit indexé.

Index

4 opérations
06

Create an index

index.create

Ce que tu vois dans n8n

Notes & cas d'usage

Ouvre un nouvel index, avec sa structure définie à la création plutôt que rafistolée après coup.

Paramètres clés

  • Index ID : le nom de l'index à créer, souvent construit à partir d'une date dans une expression.
  • Mappings : l'objet de mapping qui type les champs, par exemple { "mappings": { "properties": { "field1": { "type": "text" } } } }.
  • Settings : l'objet de configuration de l'index, nombre de shards et de réplicas compris.
  • Aliases : l'objet d'alias qui rattache un ou plusieurs alias à l'index.
Cas d'usage
créer l'index mensuel d'un journal d'événements avant que le premier document n'y arrive.
07

Delete an index

index.delete

Ce que tu vois dans n8n

Notes & cas d'usage

Supprime un index entier et tous les documents qu'il contient. Rien ne se rattrape ensuite, donc cette opération se place derrière une condition ou une validation manuelle.

Paramètres clés

  • Index ID : le seul champ, et il attend le nom de l'index, pas un alias utilisé dans les requêtes du quotidien.
Cas d'usage
clore un cycle de rétention en retirant l'index daté le plus ancien, une fois que la rotation a confirmé qu'un plus récent existe.
08

Get an index

index.get

Ce que tu vois dans n8n

Notes & cas d'usage

Renvoie la définition d'un index : ses mappings, ses settings et ses alias tels qu'Elasticsearch les stocke.

Paramètres clés

  • Index ID : l'index à inspecter.
  • Include Defaults : activé, la réponse embarque aussi tous les réglages par défaut, pratique quand on compare deux clusters.
  • Flat Settings : renvoie les settings au format plat plutôt qu'en objet imbriqué.
  • Ignore Unavailable : décide si une requête visant un index absent renvoie une erreur.
Cas d'usage
lire le mapping en place avant qu'un workflow n'écrive un champ qui n'est peut-être pas encore typé.
09

Get many indices

index.getAll

Ce que tu vois dans n8n

Notes & cas d'usage

Liste les index du déploiement. C'est la seule opération qui ne demande aucun identifiant, ce qui en fait la première étape naturelle d'un workflow de maintenance.

Paramètres clés

  • Return All : activé, tous les index remontent ; désactivé, Limit fixe le nombre maximal renvoyé.
Cas d'usage
lister les index existants, puis boucler sur le résultat pour désigner ceux qu'une branche de nettoyage doit supprimer.
Besoin d'aide

Besoin d'aide pour automatiser Elasticsearch avec n8n ?

L'équipe te répond directement.

Chaque message est lu par une personne.

FAQ

Elasticsearch et n8n, les questions qui suivent

01L'intégration Elasticsearch n8n est-elle gratuite ?
Oui du côté de n8n. Le nœud Elasticsearch est livré avec n8n : rien à installer, aucun coût supplémentaire, que tu sois sur n8n Cloud ou sur une instance auto-hébergée en Community Edition sous licence Sustainable Use. Un workflow se comporte pareil dans les deux cas, donc ce qui est construit d'un côté se déplace de l'autre. Ce que coûte Elasticsearch lui-même dépend de ton déploiement et n'est pas traité ici. Le credential que tu crées reste dans ton instance n8n et sert à tous les workflows qui parlent au cluster.
02Quels identifiants faut-il pour le nœud Elasticsearch ?
La basic auth, et elle seule. Le credential demande un Username, un Password et une Base URL, qui est l'endpoint de ton application Elasticsearch. Cet endpoint se récupère dans Elasticsearch : Deployments, tu sélectionnes ton déploiement, tu ouvres Manage this deployment, puis tu copies l'endpoint listé dans la section Applications. Il n'y a ni option OAuth ni option clé d'API sur ce nœud. Un détail coince souvent : n8n ne se connecte que si la validation du certificat SSL réussit, donc un cluster en certificat auto-signé demande d'activer Ignore SSL Issues dans le credential.
03Quelles sont les limites du nœud Elasticsearch dans n8n ?
Le nœud couvre 2 ressources, les documents et les index, pour 9 opérations au total, et c'est toute la surface disponible. Lire plusieurs documents passe par Get Many avec une Query écrite en Query DSL Elasticsearch, et c'est Return All qui fait enchaîner les pages de résultats à n8n au lieu de s'arrêter à Limit. Ce que le nœud n'expose pas reste accessible autrement : le nœud HTTP Request appelle n'importe quel endpoint de l'API Elasticsearch en réutilisant le même credential via l'authentification prédéfinie, donc un seul jeu d'identifiants suffit pour les deux.
04n8n peut-il réagir en temps réel à un document modifié dans Elasticsearch ?
Non, parce que cette intégration n'a pas de nœud trigger. Rien dans n8n n'écoute le cluster pour se déclencher quand un document est écrit ou supprimé. Un workflow qui touche à Elasticsearch démarre donc autrement : un Schedule Trigger qui tourne à intervalle fixe, un Webhook n8n, c'est-à-dire une URL qu'un service tiers appelle quand un événement se produit chez lui, ou le trigger d'un autre outil déjà en place. Le nœud Elasticsearch lit ou écrit derrière. En pratique, un Get Many programmé dont on compare le résultat à l'exécution précédente sert de détection de changement.
05n8n ou Make pour Elasticsearch ?
Ça dépend surtout de l'endroit où la donnée doit rester. Make est hébergé par son éditeur, sans option d'auto-hébergement, et se facture à l'opération : un workflow qui indexe des milliers de documents chaque nuit se paie donc au volume. n8n tourne sur Cloud ou sur ton propre serveur, ce qui compte quand le cluster vit dans un réseau privé et que faire transiter ses documents par une plateforme externe pose question. Côté logique visuelle, les deux se construisent sur un canvas. Regarde l'hébergement, la maîtrise des données et le modèle de coût, puis tranche.