La correction est intégrée au TP (Voir les encadrés de couleur vert)
Les prérequis #
Vous devez disposer d'un cluster Elasticsearch avec une instance Kibana connectée à ce cluster. Nous vous invitons à faire le TP sur l'installation d'Elasticsearch si ce n'est pas encore le cas.
Lucene #
Langage de recherche
Dans l'application 'Disvover' comment changer le langage pour filtrer les résultats? Quel est le langage par défaut?
Voir la correction
Le langage par défaut est 'KQL (Kibana Query Language)'.Pour le modifier, il faut cliquer sur et ensuite sélectionner un langage
Mon premier filtre
Dans l'index 'mon-premier-index', affichez tous les documents dont le message contient le mot 'bulk
Voir la correction
Vous pouvez utiliser le filtre :
message:bulkMon second filtre
Dans l'index 'mon-premier-index', affichez tous les documents dont le message contient exactement 'mon bulk', avec un id entre 2 et 4 et avec comme valeur de 'office' 'RousselTM' ou 'Elastic'
Voir la correction
Vous pouvez utiliser le filtre :
message:"mon bulk" AND id:[2 TO 4] AND (user.office:RousselTM OR user.office:Elastic)Vous l'avez remarqué ?
Par défaut Elasticsearch a interprété tout notre JSON. Dans cet exercice on va supposer qu'on souhaite qu'il conserve tout le contenu de 'user' dans le même champs. Quel mapping faudrait-il mettre pour cela? On va donc créer un nouveau index nommé 'mon-second-index' avec ce mapping et réimporter notre bulk pour voir la différence.
Voir la correction
Vous pouvez lancer les commandes ci-dessous :
En comparant les deux index, vous aurez cette différence : - Sans :PUT mon-second-index { "mappings": { "properties": { "user": { "type": "nested" } } } } POST _bulk { "index" : { "_index" : "mon-second-index" } } { "message" : "mon bulk", "id": 1, "user": { "office": "RousselTM", "number":125} } { "index" : { "_index" : "mon-second-index" } } { "message" : "mon bulk", "id": 2, "user": {"office": "rousseltm", "number":4258} } { "index" : { "_index" : "mon-second-index" } } { "message" : "mon bulk", "id": 3, "user": {"office": "Immo", "number":28215} } { "index" : { "_index" : "mon-second-index" } } { "message" : "mon bulk", "id": 4, "user": {"office": "Elastic", "number":2825} } { "index" : { "_index" : "mon-second-index" } } { "message" : "mon bulk", "id": 5, "user": {"office": "ElAStic", "number":2452} }
- Avec : 
Rechercher dans un champs 'nested'
On va refaire la même recherche précédente mais dans 'mon-second-index'
Voir la correction
La recherche ne fonctionnera pas car vous êtes sur une des limites du filtre Lucene : Ne peut pas filtrer sur des
- nested objects
- scripted fields
Kibana Query Language #
Bon à savoir
Tout ce que vous avez pu faire avec les filtres Lucene est possible avec du KQL et bien plus.
Mon premier filtre
Dans l'index 'mon-second-index', affichez tous les documents dont le 'user.number' est supérieur ou égal à 2825
Voir la correction
Vous pouvez utiliser le filtre :
Bien évidement vous pourrez faire des requêtes complexes avec AND et OR.user:{ number >= 2825 }Opérations
Dans l'index 'mon-second-index', affichez la moyenne des 'user.number'
Voir la correction
KQL et Lucene sont des langages qui peuvent uniquement filtrer vos documents.
Niveau de difficulté : ●●●○○ (3/5)
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Glossaire de la formation
Observabilité
La capacité à connaître l'état interne d'un système à partir des données qu'il émet.Ces données sont classées en 3 piliers : logsmétriquestracesprofil...
Elastic Common Schema (ECS)
Une spécification open source qui permet de structurer vos données de manière homogène dans l'écosystème Elastic.
RBAC (Role-Based Access Control)
Contrôle d'accès basé sur les rôles. Les permissions sont attribuées à des rôles spécifiques (ex: admin, lecteur) plutôt qu'directement aux utilisateu...
Authentification
Processus permettant de vérifier et valider l'identité d'un utilisateur ou d'un système (ex: login/mot de passe, jeton, biométrie).
Autorisation
Processus intervenant après l'authentification pour déterminer si l'entité a les droits et privilèges nécessaires pour accéder à une ressource.
API Key
Clé d'API. Code alphanumérique unique utilisé pour identifier, authentifier et autoriser l'accès à une interface de programmation (API).
Architecture
Conception globale et structurelle d'un système informatique, définissant ses différents composants, leurs relations et les principes guidant son évol...
Repository
Dépôt de stockage centralisé. Peut désigner un dépôt de code source (ex: Git) ou un dépôt d'artefacts et binaires (ex: Harbor, Nexus, Artifactory).
Articles recommandés
Comprendre la notion de score
Le concept de score va permettre à Elasticsearch de classer vos documents par pertinence lors d u...
Comprendre Elastic Common Schema(ECS)
Comme toujours dans nos missions de conseil, nous recommandons aux entreprises d'uniformiser, de ...
Grail : Dynatrace Data Lakehouse
Désormais vous disposez dans Dynatrace (SaaS) d'un Data Lakehouse nommé Grail dont vous pouvez co...
C'est quoi l'observabilité
La capacité à connaître l'état interne d'un système à partir des données que cette dernière émet...
Les types de transactions dans les base de données
Cet article détaille les différences entre trois concepts essentiels dans l'exécution des instruc...
Différences entre Technologies et Services dans Dynatrace
Dans Dynatrace, les concepts de 'Technologie' et de 'Services' aident à organiser et surveiller l...
Dynatrace : Différences entre SQL Modifications, SQL Queries or Procedures, et SQL Transactions
Cet article détaille les différences entre trois concepts essentiels dans l'exécution des instruc...
Types de consommation de licence
Comprendre l'évolution de la facturation dans Dynatrace : la différence entre l'ancien modèle de ...
Les Types de Services Dynatrace : Comprendre et Optimiser Votre Surveillance Applicative
Découvrez les différents types de services que Dynatrace peut surveiller, leur rôle, et comment l...