Заголовок Content-Type [application/x-www-form-urlencoded] не поддерживается в Elasticsearch
Раньше у меня был ElasticSearch 5.2 и просто обновлялся до 6.0.
Я пытаюсь создать шаблон индекса после руководства здесь, но получил ошибку
Content-Type header [application/x-www-form-urlencoded] is not supported
Мой запрос
curl -X PUT localhost:9200/_template/template_1 -d '
{
"index_patterns": ["te*", "bar*"],
"mappings": {
"type1": {
"properties": {
"host_name": {
"type": "keyword"
}
}
}
}
}'
Ответы
Ответ 1
Чтобы исправить это, добавьте параметр curl -H 'Content-Type: application/json'
Эта ошибка возникает из-за строгой проверки типа содержимого, представленной в ElasticSearch 6.0, как объясняется в этом сообщении
Начиная с Elasticsearch 6.0, все запросы REST, которые включают тело, также должны содержать правильный тип контента для этого тела.
Ответ 2
Решение состоит в том, чтобы добавить Content-Type: application/json
header
curl -XPUT 'localhost:9200/_template/template_1' \
-H 'Content-Type: application/json' \
-d '**your query**'