Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours NoSQL - Elasticsearch - Schéma et mapping

erreur sur mapping

Sujet résolu
9 août 2019 à 10:12:58

Bonjour,

lorsque j'essaie d'utiliser la commande :

curl -XPUT -H "Content-Type: application/json" localhost:9200/movies2 -d @mapping_movies/mapping.json

J'obtiens ce message (sous windows) :

{"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"Root mapping definition has unsupported parameters:  [movie : {properties={id={type=text, fields={keyword={ignore_above=256, type=keyword}}}, fields={properties={actors={type=text, fields={raw={index=false, type=text}}}, plot={type=text, fields={keyword={ignore_above=256, type=keyword}}}, release_date={type=date}, year={type=long}, genres={type=text, fields={raw={index=false, type=text}}}, image_url={type=text, fields={raw={index=false, type=text}}}, directors={type=text, fields={raw={index=false, type=text}}}, rating={type=float}, rank={type=long}, title={type=text, fields={keyword={ignore_above=256, type=keyword}}}, running_time_secs={type=long}}}, type={type=text, fields={keyword={ignore_above=256, type=keyword}}}}}]"}],"type":"mapper_parsing_exception","reason":"Failed to parse mapping [_doc]: Root mapping definition has unsupported parameters:  [movie : {properties={id={type=text, fields={keyword={ignore_above=256, type=keyword}}}, fields={properties={actors={type=text, fields={raw={index=false, type=text}}}, plot={type=text, fields={keyword={ignore_above=256, type=keyword}}}, release_date={type=date}, year={type=long}, genres={type=text, fields={raw={index=false, type=text}}}, image_url={type=text, fields={raw={index=false, type=text}}}, directors={type=text, fields={raw={index=false, type=text}}}, rating={type=float}, rank={type=long}, title={type=text, fields={keyword={ignore_above=256, type=keyword}}}, running_time_secs={type=long}}}, type={type=text, fields={keyword={ignore_above=256, type=keyword}}}}}]","caused_by":{"type":"mapper_parsing_exception","reason":"Root mapping definition has unsupported parameters:  [movie : {properties={id={type=text, fields={keyword={ignore_above=256, type=keyword}}}, fields={properties={actors={type=text, fields={raw={index=false, type=text}}}, plot={type=text, fields={keyword={ignore_above=256, type=keyword}}}, release_date={type=date}, year={type=long}, genres={type=text, fields={raw={index=false, type=text}}}, image_url={type=text, fields={raw={index=false, type=text}}}, directors={type=text, fields={raw={index=false, type=text}}}, rating={type=float}, rank={type=long}, title={type=text, fields={keyword={ignore_above=256, type=keyword}}}, running_time_secs={type=long}}}, type={type=text, fields={keyword={ignore_above=256, type=keyword}}}}}]"}},"status":400}


Le reste du cours s'est déroulé sans problème mais impossible de faire le mapping... J'ai cherché pendant 1h sans succès et comme je suis en apprentissage, je ne suis pas assez calé sur le sujet pour déboguer (ce qui n'est pas le but d'un cours...)

Merci pour votre aide

  • Partager sur Facebook
  • Partager sur Twitter
10 août 2019 à 15:31:22

Ok avec la version périmée elasticsearch 5.6.2 https://www.elastic.co/fr/downloads/past-releases/elasticsearch-5-6-2

Dommage de ne pas maintenir à jour les cours

  • Partager sur Facebook
  • Partager sur Twitter
11 septembre 2019 à 22:42:05

Même problème, d'accord avec toi pour le cours ...

+1 pour la solution

  • Partager sur Facebook
  • Partager sur Twitter
21 avril 2020 à 10:46:35

Le concept the "mapping type" a disparu avec ES 7 (voir https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html )
On peut donc soit:


1/ modifier le schema pour enlever le mapping type

2/ Soit utiliser le paramètre  "include_type_name=true" qui maintient la compatibilité.

Par exemple: curl -X PUT localhost:9200/movies2?include_type_name=true -H"Content-Type: application/json" -d @mapping.json

Le plus simple est 2/, mais pour avoir une meilleur compréhension de ce qui se passe, modifier le schéma est mieux;

-
Edité par laurentdebacker 21 avril 2020 à 10:47:03

  • Partager sur Facebook
  • Partager sur Twitter
21 avril 2020 à 12:31:23

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter
Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL