• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

elasticsearch 에러 관련입니다.

19.08.10 19:18 작성 조회수 4.42k

20

elasticsearch 7.x 버젼부터는 curl 리퀘스트에서 헤더를 명확히 설정해주어야하고 또 mappign을 생성할 때에는 include_type_name을 true로 설정해주어야한다고 합니다.

이에 대한 에러문구는 아래와 같습니다.

 

{
  "error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "Types cannot be provided in put mapping requests, unless the include_type_name parameter is set to true."
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "Types cannot be provided in put mapping requests, unless the include_type_name parameter is set to true."
  },
  "status" : 400
}

 

그래서 저는 mapping을 생성할 때 아래와 같이 커맨드라인을 날렸습니다.

 

curl -H 'Content-Type:application/json' -XPUT 'http://localhost:9200/classes/class/_mapping?include_type_name=true&pretty' -d @classesRating_mapping.json

 

그런데 아래와 같은 에러가 다시 발생했습니다.

 

{
  "error" : {
    "root_cause" : [
      {
        "type" : "mapper_parsing_exception",
        "reason" : "No handler for type [string] declared on field [professor]"
      }
    ],
    "type" : "mapper_parsing_exception",
    "reason" : "No handler for type [string] declared on field [professor]"
  },
  "status" : 400
}

 

이에 대해서 원인을 찾아보니 elasticsearch가 mapping 타입 중 string을 삭제하고 text로 변경하여 사용하고있다고 합니다.

관련 정보 링크 : https://stackoverflow.com/questions/47452770/no-handler-for-type-string-declared-on-field-name

그래서 classesRating_mapping.json에서 type이 string으로 되어있는 부분들을 모두 text로 변경한 후 위 커맨드라인을 다시 실행해보니 정상적으로 실행되었습니다.

혹시 이 강의를 보시는 분들 중 elasticsearch 6.x 이상의 버젼을 사용하여 수강하시는 분들은 이 부분들을 참고해보시면 좋을 것 같습니다.

답변 6

·

답변을 작성해보세요.

1

황동훈님의 프로필

황동훈

2019.10.08

오 정말 좋은 Tip 공유 감사드립니다, 위 방법으로도 안된다면 include_type_name=true 옵션을 추가하면 됩니다.

curl -XPUT localhost:9200/classes/class/_mapping?include_type_name=true -d @classesRating_mapping.json -H 'Content-Type: application/json'

관련 정보 : https://www.elastic.co/kr/blog/moving-from-types-to-typeless-apis-in-elasticsearch-7-0

 ^^*

0

iambyunghyun님의 프로필

iambyunghyun

2022.11.14

감사합니다!

0

Kyungho Jung님의 프로필

Kyungho Jung

2020.10.09

고맙습니다! 헤메지 않고 빠르게 해결했습니다.

0

jieuny.choi님의 프로필

jieuny.choi

2020.09.15

고맙습니다~ 헤맬뻔했네요!

정작 영상에는 text로 되어있네요;;

0

June님의 프로필

June

2020.06.16

고맙습니다 : )

0

안대철님의 프로필

안대철

2019.08.26

감사합니다. :)