Elasticsearch : de l'importance du mapping

En avril, je donnais un tools-in-action « Elasticsearch: de l’importance du mapping » à Devoxx.

Le but de cette présentation était de montrer que, du point de vue du développeur, la définition du mapping en général, et des analyseurs est très important pour le bon fonctionnement et la qualité de la recherche. Dans des cas extrêmes, il est même possible de changer les fonctionnalités obtenues par un simple réglage.

Gentiment, quelques spectateurs intéressés m’ont demandé de mettre en ligne mon diaporama.
Le soucis, c’est que le diaporama, se limitait à la présentation de ma personne et à la définition du mapping. Tout le reste du tools-in-action était constitué de l’exécution de commandes REST vers un Elasticsearch. Mettre en ligne le diaporama ne constituait donc aucun intérêt.

J’ai donc eu l’idée, et pris le temps de réaliser une transposition. Plutôt que de vous fournir un diaporama tout fait, je vous propose de le revivre par vous même sous la forme d’un exercice à télécharger.

Une fois décompressé, vous trouverez trois fichiers dans le dossier elasticsearch-mapping.

  • mapping.sense est un fichier contenant l’exercice. Au format sense, il contient des explications et des instructions sous forme de commentaires et des commandes REST à exécuter.
  • Dockerfile permet de construire un instance docker contenant Elasticsearch avec Marvel. Je vous le distribue sous forme de fichier à builder et non sous forme d’image Docker pour des raisons de licence : Marvel est une extension payante d’Elasticsearch. Vous pouvez cependant l’utiliser gratuitement pour un test ou le développement. Elle inclut Sense, un outil de requête pratique.
  • load-normes est un script shell qui utilise des commandes curl pour charger des données. Il sera exécuté à la demande par l’exercice.

Démarrer l’exercice

  1. Télécharger l’exercice depuis le dépôt Github.
  2. Décompresser l’archive et aller dans le dossier elasticsearch-mapping.
  3. Installer les pré-requis. - docker - boot2docker selon votre système, dans ce cas, il faudra remplacer les références à localhost par l’adresse du serveur virtuel.
  • curl
  1. Construire l’image docker : - docker build -t es-mapping .
  2. Démarrer le docker : - docker run --rm -p 9200:9200 es-mapping
  3. Ouvrir votre navigateur sur la page http://localhost:9200/_plugin/marvel
  4. Si la bannière d’accueil s’affiche, valider le bouton « Continue Free Trial »
  5. Cliquer sur le menu « Dashbord » en haut à droite.
  6. Choisir l’entrée « Sense »
  7. Si une popup d’explication s’affiche, cliquer sur « Get to work »
  8. Coller le contenu du fichier mapping.sense dans l’éditeur de requête à gauche.
  9. C’est parti…

Pour exécuter une commande, cliquer sur la flèche verte qui s’affiche à sa droite lorsque le curseur est sur la commande ou appuyer sur les touches Ctrl-Entrée (ou ⌘-⏎)

N’hésitez pas à donner plus de place au texte en déplaçant la séparation.

Les moins motivés pourront se contenter de voir le tools-in-action sur Parleys.

Mise-à-jour: Les fichiers de l’exercice sont maintenant hébergés par Github.


Vous avez trouvé cette publication utile? Cliquer sur
Ippon
Ippon est un cabinet de conseil en technologies, créé en 2002 par un sportif de Haut Niveau et un polytechnicien, avec pour ambition de devenir leader sur les solutions Digitales, Cloud et BigData.

Ippon accompagne les entreprises dans le développement et la transformation de leur système d’information avec des applications performantes et des solutions robustes.

Ippon propose une offre de services à 360° pour répondre à l’ensemble des besoins en innovation technologique : Conseil, Design, Développement, Hébergement et Formation.

Nous avons réalisé, en 2016, un chiffre d’affaires de 24 M€ en croissance organique de 20%. Nous sommes aujourd’hui un groupe international riche de plus de 300 consultants répartis en France, aux USA, en Australie et au Maroc.
FRANCE Website LinkedIn