Se connecter à une base de données Elasticsearch

Last modified by Aurelie Bertrand on 2025/03/31 17:07


Se connecter à une base de données Elasticsearch

Pour se connecter à une base de données Elasticsearch :

  1. Dans la boite Création d'un nouveau modèle de données, cliquez sur le bouton ES de la section Base de données.
    ES_button.png
    ➡ La boîte de dialogue Elasticsearch s'affiche
  2. Sélectionnez tout d'abord le mode de connexion souhaité :
  • Mode Connexion manuelle
    La connexion sera visible dans la source de données uniquement

    1. Dans le champ URL de la base données, saisissez l'adresse de votre base de données.
      Par exemple :http://hôte:port
    2. Dans le champ Index, entrez le nom de l'index Elasticsearch que vous souhaitez utiliser.
    3. Dans le champ Utilisateur, entrez le nom de l'utilisateur à utiliser lors de la connexion à la base de données.
    4. Dans le champ Mot de passe, entrez le mot de passe à utiliser lors de la connexion à la base de données.
    5. Cliquez sur Connexion pour obtenir le statut de la connexion (connexion réussie ou échec de la connexion). En cas d'échec, modifier les paramètres de connexion.
       
  • Mode Connexion nommée
    La connexion sera visible dans le gestionnaire de connexions et utilisable par l'ensemble des sources de données. 
    1. Cliquez sur Sélectionner : le Gestionnaire des connexions aux bases de données s'affiche.
    2. Vous pouvez :
      • Sélectionner une connexion existante dans la liste. Cliquez alors sur OK.
      • Créer une nouvelle connexion comme décrit sur la page Ajouter une connexion nommée.
  1. Configurez ensuite la requête à exécuter. Les requêtes doivent être du type Request Body Search (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html).
  2. Cliquez sur le bouton Prévisualisation pour afficher un aperçu du résultat. Consultez la page Prévisualisation pour plus de détails.
    Prévisualisation

Note : 50 lignes sont affichées par défaut.
Vous pouvez modifier ce nombre en tapant la valeur souhaitée dans le champ Nombre de lignes maximum pour la prévisualisation.

  1. Vous pouvez également y ajouter des transformations de données. Consultez la page Transformer les données pour plus de détails.
  2. Une fois le résultat satisfaisant, cliquez sur Suivant pour configurer le modèle de données.

Vous pouvez sauvegarder la requête saisie pour une utilisation ultérieure. Pour cela :

  1. Cliquez sur le bouton Favoris en dessous de votre requête SQL.
  2. Sélectionnez Ajouter aux favoris puis saisissez le nom que vous souhaitez donner à cette requête. 

Options avancées

ES_advanced_options_FR.png

Temps maximum de la requête

Durée maximum de la requête en secondes.
0 correspond à la valeur Elastic Search par défaut.

Nombre de réessais sur erreur

Nombre de fois où le requête est répétée en cas d'erreur.
Si différent de 0, le délai entre chaque essai doit être spécifié, en secondes.

Persister l'erreur sur programmation

Permet de générer un cube contenant l'erreur.  Tout le processus échouera plus tard, mais cela évite ainsi de refaire le job (et d'être à nouveau en erreur) pour toutes les tâches.

Mode données incrémentales

Le mode incrémental est utilisé pour l'alimentation incrémentale du cube : chaque rafraîchissement du cube ne ramène que les nouvelles données par rapport au rafraîchissement précédent.
Voir paragraphe ci-dessous.

Requête JQFonctionnalité avancée qui permet de spécifier un filtre JQ qui sera exécuté sur le json renvoyé par Elasticsearch lors de l'exécution de la requête.

Configurer le mode incrémental

La source de données Elasticsearch supporte un mode incrémental permettant de minimiser les requêtes vers la base de données. 

  1. Dans la section Connexion, cliquez sur le bouton Avancé...
  2. Cochez la case Mode données incrémentales.
  3. Un message d'avertissement vous informe que :
    • Le mode incrémental utilise une colonne de référence qui identifie chaque enregistrement du résultat de manière unique (par exemple un auto-increment, un identifiant, une date...)
    • Le requête doit être triée sur cette colonne de référence (et contenir cette colonne)
    • La requête doit contenir une clause range sur cette colonne comparant sa valeur à une variable ${LASTVAL}. Exemple : "query": { "range" : { "order_date" : { "gt" : "${LASTVAL}" } } }
    • Le mode incrémental a été prévu pour traiter incrémentalement des grand volume de données, et n'est pas optimal pour de faibles volumes.
    • Si la requête est modifiée à l'avenir, l'historique précédemment accumulé dans le cube sera invalidé. ${LASTVAL} sera évalué à 0 et, selon la clause range spécifiée, l'intégralité des données sera rapatriée de la base de données.
  4. Entrez le nom de la colonne qui sera utilisée comme référence incrémentale dans le champ Colonne de référence.
  5. Ajoutez une clause range à votre requête SQL (ou une condition AND sur une clause WHERE existante) qui teste si la colonne de référence est supérieure à "${LASTVAL}". La syntaxe exacte peut dépendre de votre base de données et du type de la colonne. La comparaison est faite de manière lexicographique, il est préférable donc que la comparaison soit faite via une chaîne de caractère.