PUT my-index/_doc/1 { "counter": 1, "tags": [ "red" ] } POST my-index/_update/1 { "script": { "source": "ctx._source.counter += params.count", "lang": "painless", "params": { "count": 4 } } } // ctx -> doc // ctx._source -> مقادیر داخل doc // ctx._source.counter -> مقدار counter در doc // نتیجه: counter برابر با 5 میشود POST my-index/_update/1 { "script": { "source": "ctx._source.tags.add(params['tag'])", "lang": "painless", "params": { "tag": "blue" } } } // نتیجه: به tags مفدار blue add میشود POST my-index/_update/1 { "script": { "source": "if (ctx._source.tags.contains(params['tag'])) { ctx._source.tags.remove(ctx._source.tags.indexOf(params['tag'])) }", "lang": "painless", "params": { "tag": "blue" } } } // if (ctx._source.tags.contains(params['tag'])) --> آیا tags مقدار tag را دارد؟(blue) // ctx._source.tags.remove(ctx._source.tags.indexOf(params['tag'])) --> حذف مقدار tag(blue) POST my-index/_update/1 { "script" : "ctx._source.new_field = 'value_of_new_field'" } // افزودن فیلد POST my-index/_update/1 { "script" : "ctx._source.remove('new_field')" } // حذف فیلد POST my-index/_update/1 { "script": { "source": "if (ctx._source.tags.contains(params['tag'])) { ctx.op = 'delete' } else { ctx.op = 'none' }", "lang": "painless", "params": { "tag": "green" } } } // if (ctx._source.tags.contains(params['tag'])) --> آیا tags green را دارد؟ // op -> opration: انجام عملیات // اگر دارد آن را حذف کن // اگر نداشت هیچی