IT/Elasticsearch

[Elasticsearch] 3. 벌크 API - _bulk API

snapcoder 2023. 11. 30. 16:57
728x90
반응형
SMALL

 

📌 벌크 API 란?

- 여러 명령을 배치로 수행

- index, create, update, delete 동작 가능

- 각 명령의 결과가 items에 배열로 리턴

- 명령문과 데이터문은 반드시 한 줄 안에 입력 필수, 줄바꿈 금지

※  Elasticsearch 에는 커밋이나 롤백 등의 트랜잭션 개념이 없음 -> _bulk 작업 중 연결이 끊어지거나 시스템이 다운되는 등의 이유로 동작이 중단 된 경우 -> 어느 동작까지 실행되었는지 확인 불가능 -> 보통 이런 경우 전체 인덱스를 삭제하고 처음부터 다시 하는 것이 안전함.

- 여기서부터 느낀게 _search, _bulk 등의 명령어를 전부 외울 수 없고, 실무하면서 여러번 날려보면서 익숙해져가는 느낌으로 다가가야함

 

 

 

📌 사용방법

-  ex) POST _bulk : 명령문과 데이터문을 한 줄씩 순서대로 입력하는 경우

 

-  ex) POST test/_bulk : 모든 명령이 동일한 인덱스(test)에서 수행되는 경우

 

-  ex) 파일 및 curl 명령어로 실행시키는 경우

   ㅇ 벌크 명령 파일을 --data-binary 로 지정하면 저장된 파일로부터 입력할 명령과 데이터 읽기 가능.

   ㅇ 파일 이름 앞에는 @문자를 입력해야 함.

   ㅇ 예시 명령어 : $ curl -XPOST "http://localhost:8080/_bulk" -H 'Content-Type: application/json' --data-binary @bulk.json

 

 

 

📌 참고자료

- Elastic 가이드 북 링크 : 4.3 벌크 API - _bulk API

- 이전 게시글 : [Elastic Search] 2. 데이터 처리

728x90
반응형
LIST