본문 바로가기

dev/ELK

Elastic Search bulk API

엘라스틱서치 bulk API를 사용하면 여러 건 이상의 데이터를 한 번에 추가할 수 있습니다.

 

테스트 인덱스 등록

 

"test_index"이름의 인덱스를 등록합니다.

 

테스트 json 파일

 

인덱스에 저장할 json 파일을 작성합니다.

 

json파일에 대해 간략히 설명하면

 

{"index": {"_index": "test_index"}}는 저장될 도큐먼트의 인덱스 정보입니다.

 

1라인: "_index" 필드 옆에 "_id"를 추가해서 도큐먼트에 아이디 속성을 줄 수 있지만 저는 엘라스틱서치가 정해주는 _id로 하고 싶어서 생략했습니다.

    ex) {"index": {"_index": "test_index", "_id":1}}

2라인: 추가될 도큐먼트의 필드정보입니다.

    test_id는 1, test_field1는 aaa, test_field2 1 이 인덱스에 추가됩니다,

 

bulk API 호출

 

curl -X POST "http://엘라스틱서치_주소:9200"/_bulk \
-H "Content-Type: application/json" \
--data-binary "@json파일_경로"

 

curl을 통해 헤더와 바디를 설정하고 bulk API를 호출합니다.

 

그러면 "took"와 "errors"를 통해 결과를 확인할 수 있는데 

 

"took"은 API를 호출하는 데 걸린 시간(ms단위)이고

 

"errors"는 에러가 발생했는지 여부인데 false이면 에러가 발생하지 않았다는 뜻입니다.

 

테스트 인덱스 조회

 

인덱스를 조회했을 때 위와 같이 도큐먼트와 필드가 보이면 정상적으로 실행된 것을 확인할 수 있습니다.

'dev > ELK' 카테고리의 다른 글

ElasticSearch Snapshot Backup Restore  (0) 2024.05.12
ElasticSearch 집계 쿼리  (0) 2023.06.21
Elastic Search 검색 결과 다운로드  (0) 2023.06.09
Elastic Search 검색 쿼리  (0) 2023.06.09
Kibana Vertical Chart  (0) 2023.06.07