BMT용 ES데이터를 야매로 만들다보니 업데이트 쳐줘야할 일이 많았다. 그래서 업데이트하는 방법을 알아봤는데 두가지 방법이 있었다.
PUT /{index명}/_doc/{특정 데이터의 id}
{
"필드명1" : "필드값"
}
⚠️주의⚠️
만약, 아래처럼 저장이 되어있었는데 위 필드로 업데이트한다면?
{
"패션" : "크롭탑",
"태그" : "숏",
"속성" : "사이즈s"
}
⬇️
{
"필드명1" : "필드값"
}
띠용?! 😵 원래 저장되어있던 데이터가 사라지고 업데이트한 데이터로 아예 바뀌어버린다.
POST /{index명}/_update/{특정 데이터의 id}
{
"doc":{
"필드명1" : "필드값"
}
}
보통 방법1보다는 방법2를 더 자주썼다. 특정 인덱스의 특정 필드를 전체를 랜덤값으로 업데이트 치고 싶은 니즈가 있는데, 이건 아직 못 찾았다. 살짝 본 결과로는 그렇게는 할 수 없다고 본 것 같은데… 한번 찾아봐야겠다! 🤓