web-dev-qa-db-fra.com

ElasticSearch - L'en-tête Content-Type [application/x-www-form-urlencoded] n'est pas pris en charge.

J'avais l'habitude d'avoir ElasticSearch 5.2, et juste de passer à la version 6.0. 

J'essaie de créer un modèle d'index en suivant le guide ici , mais j'ai une erreur

Content-Type header [application/x-www-form-urlencoded] is not supported

Ma requête est 

curl -X PUT localhost:9200/_template/template_1 -d '
{
  "index_patterns": ["te*", "bar*"],
  "mappings": {
    "type1": {
      "properties": {
        "Host_name": {
          "type": "keyword"
        }
      }
    }
  }
}'
68
Barry Leishman

Pour résoudre ce problème, ajoutez l'option curl -H 'Content-Type: application/json'


Cette erreur est due à vérification de type de contenu strict introduite dans ElasticSearch 6.0, comme expliqué dans cet article

À partir d'Elasticsearch 6.0, toutes les requêtes REST incluant un corps doivent également fournir le type de contenu correct pour ce corps.

131
sam

curl -XPUT 'localhost: 9200/_template/template_1' -H 'Content-Type: application/json' -d ' votre requête '

J'ai rencontré tellement de bugs lors de l'utilisation d'Elasticsearch 6.0 + et ce n'est qu'un exemple.

1
Z.LI