이미지들을 한번에 ES에 집어 넣는 작업이 필요했는데 만약에 이미지가 100개면 요청을 100번해야 되는게 말이 안된다고 생각했던 찰나 bulk
라는 개념을 알게 되었다.
bulk는 잦은 네트워크의 IO 발생은 성능을 저하시킬 수 있으므로 여러 개의 처리를 모아 두었다가 한번에 처리하는 것을 의미한다.
대량의 데이터를 입력 할 때는 반드시 _bulk API
를 사용해야 한다.
POST http://localhost:9200/인덱스명/_bulk
이런 식으로 사용한다.
BulkRequest bulkRequest = new BulkRequest();
bulkRequest.add(new IndexRequest(인덱스명).type("_doc").source(데이터));
client.bulk(bulkRequest, RequestOptions.DEFAULT);