elasticsearch 6.3.2 bulk 색인하기 - 색인에러 : Rejecting mapping update to [index name ] as the final mapping would have more than 1 type
elasticsearch 6.3.2 bulk 색인하기
색인에러 : Rejecting mapping update to [index name ] as the final mapping would have more than 1 type
# curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_doc/_bulk?pretty&refresh" --data-binary "@newdata.json"
{
"took" : 458,
"errors" : true,
"items" : [
{
"index" : {
"_index" : "인덱스이름",
"_type" : "28260",
"_id" : "XR1KOGYBkPZvewAAPeNi",
"status" : 400,
"error" : {
"type" : "illegal_argument_exception",
"reason" : "Rejecting mapping update to [apt] as the final mapping would have more than 1 type: [28260, 27260]"
}
}
},
에러 메세지를 문자 그대로 해석하면 mapping 이 여러개의 타입을 가지고 있어서
mapping 업데이트를 거절했다고 하는데
?????
보는 순간 이해가 안되었다.
이전 버전에는 인덱스별로 다수의 타입을 사용할 수 있었기 때문이다.
검색해보니 여기 토론에서 elasticsearch 6.0 버전에서는
index 가 multiple mapping type을 지원하지 않는다고 한다.
아래 6.0 버전의 변화에서도 아래와 같이 설명이 되고 있다.
Multiple mapping types are not supported in indices created in 6.0
The ability to have multiple mapping types per index has been removed in 6.0. New indices will be restricted to a single type. This is the first step in the plan to remove mapping types altogether. Indices created in 5.x will continue to support multiple mapping types.
참고: https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking-changes-6.0.html
이번 포스팅에서는 이유를 좀 더 설명하고 있긴 하지만
결론은 이제 하나의 index 는 하나의 타입만 가진다는 것이다.
"new indices will only allow a single type"
참고: https://www.elastic.co/blog/index-type-parent-child-join-now-future-in-elasticsearch