2 - Elasticsearch - Exercices

II.1) API JSON

0. Accéder à Kibana

  • aller à l’adresse http://192.168.2.4:5601
  • Dev tools

2. Requêtes

POST /mabibli/_doc/
{
    "<fieldname>": "<value>",
    ...
}

Exercice II.1) syntaxe API et JSON

  1. Chercher un livre sur http://lalibrairie.com

  2. écrire un fichier JSON pour décrire le livre avec:

    • le titre (title)
    • l’auteur (author)
    • le prix (price)
    • la première phrase de la description à mettre entre guillemets (description)
    • d’autres infos si vous voulez
  3. Choisissez un nom simple pour votre bibliothèque.

  4. Ajoutez ce livre à votre bibliothèque dans Kibana à l’aide de la documentation de l’API : https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html

POST /<votre_bibli>/_doc/1
<DATA>

Solution

Solution :

II.2.1

Exercice II.2.1) Gérer les documents dans Elasticsearch.

Dans la vue Devtools et à l’aide de votre feuille de mémo de l’API :

  1. mettre à jour le livre que vous avez ajouté en changeant le prix
  2. ajouter deux nouveaux livre avec la méthode POST
  3. lister tous les livres de l’index
  4. lister les index présents sur le cluster
  5. supprimer le livre numéro 2 (avec son _id)

Solution

Solution :

Exercice II.2.2)

  1. supprimer votre index

  2. Cherchez dans la documentation comment ajouter un mapping

  3. Décrivez en JSON les propriétés suivantes pour ce mapping en choisissant les types: title, description, author, price, ISBN/EAN, weight

  4. Ajoutez le mapping. Indication : il faut un nouvel index d’abord

  1. Recréez vos deux livres avec POST sans renseigner l’ISBN
  2. ajoutez l’ISBN en modifiant ces livres : problème
  3. ajoutez un champ de type long pour régler le problème

Solution

Solution :

Exercice II.2.3)

Exercice II.3) Utiliser curl

  1. connectez vous à l’infra en ssh:
vagrant ssh <nom-du-noeud>

l’adresse de elasticsearch est 0.0.0.0:9200

  1. taper curl --help, cherchez le nom de l’option longue correspondant à -d (un petit grep ?)
  2. ajouter une suite à l’un de vos livres avec curl.
  3. ajoutez une entrée genre de type keyword dans votre mapping et mettez à jour vos livres pour ajouter leur genre
  4. utilisez curl pour télécharger une page de la documentation dans votre dossier personnel.

Solution

Solution :

Exercice III.1)

Avec la vue Devtools:

  1. Cherchez le nombre d’avion ES-Air (champ Carrier) en tout
  1. Faire une recherche des avions où New apparaît dans le champ Dest. Que remarquez vous ?

Solution

Solution :