bulk API는 여러 색인, 업데이트, 삭제 작업을 한 번의 요청에 담아서 보내는 API다.
엘라스틱서치의 다른 API와 다르게 요청 본문을 JSON
이 아니라 NDJSON
(Newline Delimited JSON) 형태로 만들어서 보낸다.
application/x-ndjson
을 사용해야 한다.\n
으로 끝나야 한다.POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "2" } }
{ "create" : { "_index" : "test", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }
bulk API에 기술된 작업은 반드시 그 순서대로 수행된다는 보장이 없다.
네트워크를 통해 요청을 여러 번 반복해서 호출해야 한다면 이를 묶어 한꺼번에 전송하는 것이 일반적으로 성능상 이득이다.
이런 유용한 정보를 나눠주셔서 감사합니다.