# Update docuement with field name

**URL:** <https://discuss.elastic.co/t/update-docuement-with-field-name/85878>\
**Category:** Elasticsearch\
**Created:** [May 16, 2017, 8:05am UTC](https://discuss.elastic.co/t/update-docuement-with-field-name/85878 "2017-05-16T08:05:37Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![tushar\_chevulkar](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tushar_chevulkar/32/46270_2.png) [@tushar\_chevulkar](https://discuss.elastic.co/u/tushar_chevulkar)\
**Post date:** [May 16, 2017, 8:05am UTC](https://discuss.elastic.co/t/update-docuement-with-field-name/85878/1 "2017-05-16T08:05:38Z")

</div>

Is it possible to update any document with a key ? like we do in sql

> UPDATE `table` SET `gender`='male' WHERE `name`=`dave`

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 16, 2017, 8:17am UTC](https://discuss.elastic.co/t/update-docuement-with-field-name/85878/2 "2017-05-16T08:17:51Z")

</div>

You have the update by query which basically does something similar

[https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update-by-query.html)

---

<div class="post-metadata">

**Author:** ![tushar\_chevulkar](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tushar_chevulkar/32/46270_2.png) [@tushar\_chevulkar](https://discuss.elastic.co/u/tushar_chevulkar)\
**Post date:** [May 16, 2017, 11:08am UTC](https://discuss.elastic.co/t/update-docuement-with-field-name/85878/3 "2017-05-16T11:08:53Z")

</div>

I tried this query

```
{
  "script": {
    "gender": "male"
  },
  "query": {
    "match": {
                    "name_split": "Tim"
                  }
  }
}

```

But its giving error I don't know what am I doing wrong

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [May 16, 2017, 5:57pm UTC](https://discuss.elastic.co/t/update-docuement-with-field-name/85878/4 "2017-05-16T17:57:17Z")

</div>

You did not paste the error. But I can imagine what it can be as you are not following what is written in the guide.

```auto
POST twitter/_update_by_query
{
  "script": {
    "inline": "ctx._source.likes++",
    "lang": "painless"
  },
  "query": {
    "term": {
      "user": "kimchy"
    }
  }
}

```

BTW using a pipeline might be good as well as explained in docs:

```auto
PUT _ingest/pipeline/set-foo
{
  "description" : "sets foo",
  "processors" : [ {
      "set" : {
        "field": "foo",
        "value": "bar"
      }
  } ]
}
POST twitter/_update_by_query?pipeline=set-foo

```

But may be you are just beginning with elasticsearch and you may be want to solve something else than updating a field?

I mean that if you want to update a document for which you know the id, just run:

```auto
PUT index/type/id
{
  // The full content of your document here, updated
}

```

---

<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 13, 2017, 5:57pm UTC](https://discuss.elastic.co/t/update-docuement-with-field-name/85878/5 "2017-06-13T17:57:21Z")

</div>

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