Se connecter à une base de données Elasticsearch
Se connecter à une base de données Elasticsearch
Pour se connecter à une base de données Elasticsearch :
- 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.

➡ La boîte de dialogue Elasticsearch s'affiche - Sélectionnez tout d'abord le mode de connexion souhaité :
Mode Connexion manuelle
La connexion sera visible dans la source de données uniquement- Dans le champ URL de la base données, saisissez l'adresse de votre base de données.
Par exemple :http://hôte:port - Dans le champ Index, entrez le nom de l'index Elasticsearch que vous souhaitez utiliser.
- Dans le champ Utilisateur, entrez le nom de l'utilisateur à utiliser lors de la connexion à la base de données.
- Dans le champ Mot de passe, entrez le mot de passe à utiliser lors de la connexion à la base de données.
- 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.
- Dans le champ URL de la base données, saisissez l'adresse de votre base de données.
- Mode Connexion nommée
La connexion sera visible dans le gestionnaire de connexions et utilisable par l'ensemble des sources de données.- Cliquez sur Sélectionner : le Gestionnaire des connexions aux bases de données s'affiche.
- 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.
- 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).
- Cliquez sur le bouton Prévisualisation pour afficher un aperçu du résultat. Consultez la page Prévisualisation pour plus de détails.

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

| Temps maximum de la requête | Durée maximum de la requête en secondes. |
|---|---|
| Nombre de réessais sur erreur | Nombre de fois où le requête est répétée en cas d'erreur. |
| 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. |
| Requête JQ | Fonctionnalité 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.
- Dans la section Connexion, cliquez sur le bouton Avancé...
- Cochez la case Mode données incrémentales.
- 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.
- Entrez le nom de la colonne qui sera utilisée comme référence incrémentale dans le champ Colonne de référence.
- 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.