Header Jenis-Konten [aplikasi / x-www-form-urlencoded] tidak didukung di Elasticsearch


134

Saya dulu menggunakan ElasticSearch 5.2, dan baru saja ditingkatkan ke 6.0.

Saya mencoba membuat templat panduan indeks berikut di sini , tetapi mendapat kesalahan

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

Kueri saya adalah

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

Jawaban:


243

Untuk memperbaiki ini, tambahkan opsi keriting -H 'Content-Type: application/json'


Kesalahan ini disebabkan oleh pemeriksaan tipe konten yang ketat yang diperkenalkan di ElasticSearch 6.0, seperti yang dijelaskan dalam posting ini

Mulai dari Elasticsearch 6.0, semua permintaan REST yang menyertakan badan juga harus memberikan tipe konten yang benar untuk badan itu.


Hai @sam, Apakah ada solusi permanen sehingga saya tidak perlu memberikan tanda ini untuk setiap permintaan.
Rupesh

1
@sam, terima kasih sam, tetapi ketika saya menambahkan opsi curl, ia memberi saya {"error": "Header Jenis-Konten [aplikasi / x-www-form-urlencoded] tidak didukung", "status": 406} curl: (6) Tidak dapat menyelesaikan host: aplikasi
haneul kim

2
@haneulkim Jika menjalankan curl pada Windows, Anda harus menggunakan karakter kutipan ganda alih-alih kutipan tunggal. Berikut adalah contoh perintah curl pada Windows: curl -X PUT "localhost: 9200 / customer / _doc / 1? Pretty" -H "Content-Type: application / json" -d "{\" name \ ": \" John Doe \ "}"
Kevin Le

11

Solusinya adalah menambahkan Content-Type: application/jsonheader

curl -XPUT 'localhost:9200/_template/template_1' \
  -H 'Content-Type: application/json' \
  -d '**your query**'

-1
"{ \"name\": { \"first\": {} }, \"address\": [ { \"address1\":\"lane\" } ] } "

Di Windows, ketika Anda memberikan JSON sebagai parameter, gunakan hanya tanda kutip ganda. Gunakan karakter pelarian.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.