일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- docker
- tomcat
- JavaScript
- elasticsearch
- 자바 리스트
- jQuery
- 쿼리
- spring 오류
- 엑셀
- HTML
- 인텔리제이
- 도커
- eclipse 설정
- 이클립스 설정
- db
- Java
- spring form
- 자바스크립트
- 에러
- 이클립스
- Excel
- 한글 깨짐
- java 오류
- 자바
- 엘라스틱서치
- JSP
- 데이터베이스
- 형변환
- Eclipse
- CSS
Archives
- Today
- Total
개발노트
Upsert 본문
반응형
1. Upsert
Upsert는 Elasticsearch에서 문서가 존재하면 업데이트하고, 존재하지 않으면 새로 삽입하는 작업을 수행하는 기능입니다.
2. Upsert 동작 방식
1) 문서가 존재하는 경우
- upsert 데이터는 무시됩니다.
- doc 또는 script를 사용해 기존 문서의 일부만 업데이트합니다.
2) 문서가 존재하지 않는 경우
upsert 데이터를 사용해 새로운 문서를 생성합니다.
3. Upsert 구조
POST /index_name/_update/document_id
{
"doc": {
"field1": "value1",
"field2": "value2"
},
"upsert": {
"field1": "default_value1",
"field2": "default_value2",
"field3": "default_value3"
}
}
4. 사용 예시
1) document_id가 있는 경우
-- 존재하는지 조회
GET /my_index/_doc/16
-- 수정
POST /my_index/_update/16
{
"doc":{
"author" : "John Doe로 수정"
},
"upsert": {
"title" : "Elasticsearch Basics",
"author" : "Jane Doe",
"publish_date" : "2024-05-09",
"tags" : ["search", "analytics"]
}
}
2) document_id가 없는 경우
-- 조회
GET /my_index/_doc/16
-- 수정
POST /my_index/_update/16
{
"doc":{
"author" : "수정본"
},
"upsert": {
"title" : "Elasticsearch Basics",
"author" : "새로 생성",
"publish_date" : "2024-05-09",
"tags" : ["search", "analytics"]
}
}
반응형
'Programming > ElasticSearch' 카테고리의 다른 글
Script (1) | 2024.11.20 |
---|---|
script 와 doc 차이 (0) | 2024.11.20 |
대시보드에서 elasticsearch 명령어 확인 (0) | 2024.11.19 |
Elastic Stack ( ELK Stack ) (0) | 2024.11.13 |
[ElasticSearch] text와 keyword 타입 (0) | 2024.08.06 |