엘라스틱서치 bulk API를 사용하면 여러 건 이상의 데이터를 한 번에 추가할 수 있습니다.
"test_index"이름의 인덱스를 등록합니다.
인덱스에 저장할 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 이 인덱스에 추가됩니다,
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 |