[TP] Filtrez vos documents


Nous allons utiliser Dev Tools pour manipuler les utilisateurs/rôles. Pour rappel, vous pouvez passer directement par l'API Elasticsearch.

Ce que vous allez apprendre dans ce TP :

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

  1. Langage de recherche
    Dans l'application 'Disvover' comment changer le langage pour filtrer les résultats? Quel est le langage par défaut?
  2. Mon premier filtre
    Dans l'index 'monpremierindex', affichez tous les documents dont le message contient le mot 'bulk
  3. Mon second filtre
    Dans l'index 'monpremierindex', 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'
  4. 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é 'monsecondindex' avec ce mapping et réimporter notre bulk pour voir la différence.
  5. Rechercher dans un champs 'nested'
    On va refaire la même recherche précédente mais dans 'monsecondindex'

Kibana Query Language

  1. Bon à savoir
    Tout ce que vous avez pu faire avec les filtres Lucene est possible avec du KQL et bien plus.
  2. Mon premier filtre
    Dans l'index 'monsecondindex', affichez tous les documents dont le 'user.number' est supérieur ou égal à 2825
  3. Opérations
    Dans l'index 'monsecondindex', affichez la moyenne des 'user.number'

Niveau de difficulté: (3/5)