문서 업데이트

edit

문서를 색인화하고 대체할 뿐 아니라 업데이트할 수도 있습니다. 사실 Elasticsearch가 해당 위치에서 업데이트를 수행하는 건 아닙니다. 우리가 업데이트를 명령하면 Elasticsearch는 기존 문서를 삭제하고 새 문서를 색인화한 다음 여기에 업데이트를 적용하는 작업을 한꺼번에 수행합니다.

이 예는 (ID가 1인) 이전의 문서에서 이름 필드를 "Jane Doe"로 변경하여 업데이트하는 방법을 보여줍니다.

POST /customer/external/1/_update?pretty
{
  "doc": { "name": "Jane Doe" }
}

이 예는 (ID가 1인) 이전의 문서에서 이름 필드를 "Jane Doe"로 변경하고 동시에 나이 필드를 추가하여 업데이트하는 방법을 보여줍니다.

POST /customer/external/1/_update?pretty
{
  "doc": { "name": "Jane Doe", "age": 20 }
}

간단한 스크립트를 사용하여 업데이트할 수도 있습니다. 이 예는 스크립트를 사용하여 나이를 5만큼 늘립니다.

POST /customer/external/1/_update?pretty
{
  "script" : "ctx._source.age += 5"
}

위 예에서 `ctx._source`는 업데이트하려는 현재 소스 문서입니다.

이 글을 쓰는 시점에서는 한 번에 하나의 문서만 업데이트할 수 있습니다. 향후 Elasticsearch에서 쿼리 조건(예: SQL UPDATE-WHERE 문)을 사용하여 여러 문서를 업데이트하는 기능을 제공할 수도 있습니다.