보뇨 다이어리

ElasticSearch 벌크 추가시 에러 본문

컴퓨터 관련/DB 정보

ElasticSearch 벌크 추가시 에러

보뇨 2021. 4. 11. 15:33
반응형

인터넷에 간편하게 소개글이나 위키를 보고 예제 따라하다가 CRUD 등 모두 간단히 동작했지만
벌크 추가시 에러를 뱉는 일이 생겼는데 에러로그는 아래를 확인하면된다

curl -XPOST '0.0.0.0:9200/bank/account/_bulk?pretty&refresh' -H 'Content-Type: application/json' -d '@bulk.json'
{
  "error" : {
    "root_cause" : [
      {
        "type" : "illegal_argument_exception",
        "reason" : "The bulk request must be terminated by a newline [\\n]"
      }
    ],
    "type" : "illegal_argument_exception",
    "reason" : "The bulk request must be terminated by a newline [\\n]"
  },
  "status" : 400
}

맨처음에는 json 파일에 뉴라인이 없어서 생긴건가? 해서 추가해줬는데 동작하지않았고 곰곰히 생각해보다가 모르겠어서
인터넷 찾아보니 추가로 약자로쓴 -d 타입을 --data-binary 로 풀어서 적어줘야한다고했다
왜 약자로 쓴게 안되는지는 참고링크에서 확인할수있지만 -d 가 뉴라인을 보존하지않고 제이슨 포멧을 지원하지않는다 라고 적혀있다
근데 벌크가 아닌 일반 다큐먼트를 추가할때 -d 으로 주니 이건 되었어서.. 자세히는 문서를 봐야할듯..


출처

  1. https://stackoverflow.com/questions/48579980/elasticsearch-bulk-request-throws-error-in-elasticsearch-6-1-1
반응형