Elasticsearch03_(Batch 프로세스 실행하기)

2024. 12. 28. 20:15ELK가_뭐지/Elasticsearch

Batch 프로세스 실행하기

배치 프로세스

  • _bulk API를 사용해 작업을 일괄적으로 수행
  • HTTP 바디 부분 마지막에 엔터 필수 입력
POST /index/type/_bulk?pretty
{"index" : {"_id":"1"}}
{"name" : "Ava"}
{"index" : {"_id":"2"}}
{"name" : "Bava"}
[엔터]
  • 문서 삭제와 업데이트 일괄처리
POST /index/type/_bulk?pretty
{"update" : {"_id" : "1"}}
{"doc" : {"name" : "Beva"}}
{"delete" : {"_id":"2"}}
[enter]

  • bulk API는 순차적으로 작업 중 실패해도 실패하지않고, 나머지 작업을 이행함
  • 많은 API가 반환되면 각 액션에 대한 상태가 전송된 순서대로 제공되어 특정 액션이 실패했는지 여부를 확인할 수 있음

실습

// 데이터 입력 일괄적으로 처리
post customer/type1/_bulk
{"index":{"_id":"1"}}
{"name":"Ava"}
{"index":{"_id":"2"}}
{"name":"Bava"}

// 데이터 확인
GET customer/type1/1
GET customer/type1/2

// 데이터 업데이트와 삭제를 일괄적으로 처리
POST customer/type1/_bulk
{"update":{"_id":"1"}}
{"doc":{"age":18}}
{"delete": {"_id":2}}

마무리

_bulk API를 사용하면 일괄처리가 가능하다 길래 뭔가 드라마틱하게 간편해질 것 같았지만 아니었다.

알아보니 파이썬으로 스크립트로 조금은 간단히 사용하는 방법이 있다.