Types cannot be provided in get mapping requests, unless include_type_name is set to true.

Elasticsearch 7になると、typeを指定していると怒られる。たとえば、

$ curl "http://localhost:9201/fess.20190224/_mapping/_doc?pretty"
{
"error" : {
"root_cause" : [
{
"type" : "illegal_argument_exception",
"reason" : "Types cannot be provided in get mapping requests, unless include_type_name is set to true."
}
],
"type" : "illegal_argument_exception",
"reason" : "Types cannot be provided in get mapping requests, unless include_type_name is set to true."
},
"status" : 400
}

という感じで、Mapping APIで…/_mapping/{type} みたいなことしているとエラーになる。とりあえず、回避したいのであれば、

$ curl "http://localhost:9201/fess.20190224/_mapping/_doc?include_type_name=true&pretty"

とすれば、今までどおりに返ってくる。まぁ、本来はtypeを指定しないようにするようになおすのが良いが、URLからtypeを消すだけでなく、レスポンスの中のtypeもなくなるので、レスポンスをパースしている仕組みも合わせて修正する必要がある。

コメントを残す

メールアドレスが公開されることはありません。