# Elastic Search \_update\_by\_query

**URL:** https://discuss.elastic.co/t/elastic-search-update-by-query/130799
**Category:** Elasticsearch
**Created:** [May 7, 2018, 8:39am UTC](https://discuss.elastic.co/t/elastic-search-update-by-query/130799 "2018-05-07T08:39:39Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![surajdalvi](https://avatars.discourse-cdn.com/v4/letter/s/85f322/32.png) [@surajdalvi](https://discuss.elastic.co/u/surajdalvi)
#### Post date: [May 7, 2018, 8:39am UTC](https://discuss.elastic.co/t/elastic-search-update-by-query/130799/1 "2018-05-07T08:39:40Z")

</div>

Hi

I am using \_update\_by\_query in following way:

> ```
> POST /documents/_update_by_query
> {
> "script":{
> "source":"for(int i = 0;i < ctx._source.fields.size();i++){for (int j = 0; j < params.field_uid.size();j++){ if(params.field_uid[j].type == \"group\"){ } else{ if(ctx._source.fields[i].uid == params.field_uid[j].uid){ ctx._source.fields.remove(i);} } }}",
> "params":{
> "field_uid":[{"uid":"number","type":"number"},{"uid":"test","type":"group"}]
> }
> },
> "query": { 
> "term": {
> "name": "first"
> }
> }
> }
> 
> ```

It is giving me following error:

> ```
> {
> "error": {
> "root_cause": [
> {
> "type": "script_exception",
> "reason": "compile error",
> "script_stack": [
> "... s.field_uid.size();j++){ if(params.field_uid[j].ty ...",
> " ^---- HERE"
> ],
> "script": "for(int i = 0;i < ctx._source.fields.size();i++){for (int j = 0; j < params.field_uid.size();j++){ if(params.field_uid[j].type == \"group\"){ } else{ if(ctx._source.fields[i].uid == params.field_uid[j].uid){ ctx._source.fields.remove(i);i--;} } }}",
> "lang": "painless"
> }
> ],
> "type": "script_exception",
> "reason": "compile error",
> "script_stack": [
> "... s.field_uid.size();j++){ if(params.field_uid[j].ty ...",
> " ^---- HERE"
> ],
> "script": "for(int i = 0;i < ctx._source.fields.size();i++){for (int j = 0; j < params.field_uid.size();j++){ if(params.field_uid[j].type == \"group\"){ } else{ if(ctx._source.fields[i].uid == params.field_uid[j].uid){ ctx._source.fields.remove(i);i--;} } }}",
> "lang": "painless",
> "caused_by": {
> "type": "illegal_argument_exception",
> "reason": "Extraneous if statement."
> }
> },
> "status": 500
> }
> 
> ```

Can anyone help me into this?  
What is wrong here?

---

<div class="post-metadata">

### Author: ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)
#### Post date: [May 11, 2018, 3:21pm UTC](https://discuss.elastic.co/t/elastic-search-update-by-query/130799/2 "2018-05-11T15:21:30Z")

</div>

That's how your script look like:

```auto
for(int i = 0;i < ctx._source.fields.size();i++) { 
  for (int j = 0; j < params.field_uid.size();j++) {
    if(params.field_uid[j].type == "group") {
    } 
    else { 
      if(ctx._source.fields[i].uid == params.field_uid[j].uid) {
        ctx._source.fields.remove(i);
      } 
    } 
  }
}

```

It complains about the first empty if statement.

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [June 8, 2018, 3:21pm UTC](https://discuss.elastic.co/t/elastic-search-update-by-query/130799/3 "2018-06-08T15:21:31Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
