📌 벌크 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. 데이터 처리
'IT > Elasticsearch' 카테고리의 다른 글
[Elasticsearch] 회사 내부 첨부파일의 내용을 통합 검색할 수 있다면? (feat. Fasoo DRM, Tika, Confluence) (0) | 2024.07.05 |
---|---|
[Elasticsearch] 벡터서치 구현시 텍스트 데이터 벡터화 방법 고민 (0) | 2024.07.03 |
[Elasticsearch] 4. 검색 API - _search API (2) | 2023.12.05 |
[Elasticsearch] 2. 데이터 처리 (0) | 2023.11.28 |
[Elasticsearch] 1. 개념 간단히 이해하기 (2) | 2023.11.27 |