ctx 매개변수에 대해서 일래스틱서치가 자세히 설명된 페이지는 없다. 자주 사용하는 매개변수는 다음과 같다.


  • ctx._source: 다큐먼트의 원본을 포함한다. ctx._source.counter 는 다큐먼트의 원본의 counter를 의미한다.
    • ctx._source.remove("필드이름") : 다큐먼트 원본의 필드 이름을 삭제한다.
    • ctx._source.필드명.contains("값") : 다큐먼트 원본 필드안에 해당 값이 있는지 체크한다.
  • ctx._timestamp : 값이 정의되면, 해당 값은 다큐먼트 타임스탬프로 설정된다.
  • ctx._ttl: ttl 값으로 설정된다.
  • ctx.op : 주요 operation type을 정의한다. 
    • index (기본값): 레코드를 변경 값으로 재색인한다.
    • delete: 다큐먼트를 삭제한다.
    • none: 다큐먼트를 재색인하지 않고, 생략한다.


그리고, _ctx맵에는 상기 적어 놓은 _source, _timestamp, ttl, op말고 _index, _type, _id, _version, _routing, _parent이 있다. 



https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-timestamp-field.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-ttl-field.html

Posted by '김용환'
,