elasticsearch 특정 데이터 업데이트

개발새발·2022년 7월 31일
0

elasticsearch

목록 보기
29/54

BMT용 ES데이터를 야매로 만들다보니 업데이트 쳐줘야할 일이 많았다. 그래서 업데이트하는 방법을 알아봤는데 두가지 방법이 있었다.

👩🏽‍🚒방법1. PUT method 로 특정 데이터의 전체 필드값 변경

PUT /{index명}/_doc/{특정 데이터의 id}

{
	"필드명1" : "필드값"	
}

⚠️주의⚠️

만약, 아래처럼 저장이 되어있었는데 위 필드로 업데이트한다면?

{
	"패션" : "크롭탑",
	"태그" : "숏",
	"속성" : "사이즈s"
}

⬇️

{
	"필드명1" : "필드값"
}

띠용?! 😵‍ 원래 저장되어있던 데이터가 사라지고 업데이트한 데이터로 아예 바뀌어버린다.


👩🏽‍🚒방법2. POST method 로 특정 데이터의 특정 필드값만 변경

POST /{index명}/_update/{특정 데이터의 id}

{
	"doc":{
    	"필드명1" : "필드값"
    }
}


보통 방법1보다는 방법2를 더 자주썼다. 특정 인덱스의 특정 필드를 전체를 랜덤값으로 업데이트 치고 싶은 니즈가 있는데, 이건 아직 못 찾았다. 살짝 본 결과로는 그렇게는 할 수 없다고 본 것 같은데… 한번 찾아봐야겠다! 🤓

profile
발새발개

0개의 댓글