# Can't return number from script\_fields?

**URL:** https://discuss.elastic.co/t/cant-return-number-from-script-fields/211133
**Category:** Elasticsearch
**Created:** [December 9, 2019, 2:11pm UTC](https://discuss.elastic.co/t/cant-return-number-from-script-fields/211133 "2019-12-09T14:11:36Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Wassim\_Ben\_Amor](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wassim_ben_amor/32/39799_2.png) [@Wassim\_Ben\_Amor](https://discuss.elastic.co/u/Wassim_Ben_Amor)
#### Post date: [December 9, 2019, 2:11pm UTC](https://discuss.elastic.co/t/cant-return-number-from-script-fields/211133/1 "2019-12-09T14:11:36Z")

</div>

Hello I am trying to use script\_fields.  
This is my ES request :  
`{ "query": { "match_all": {} }, "script_fields": { "test": { "script": { "lang": "painless", "source": "(doc['type'].value=='user') ? 1 : null" } } } }`

this returns : Cannot cast from [int] to [java.lang.Object]  
when I use `"source": "2"` or `"source": "(doc['type'].value=='user') ? 'test' : null"`,it works perfectly.

Am I missing something ?  
Thank you,

---

<div class="post-metadata">

### Author: ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)
#### Post date: [December 9, 2019, 2:15pm UTC](https://discuss.elastic.co/t/cant-return-number-from-script-fields/211133/2 "2019-12-09T14:15:31Z")

</div>

what version are you on? This snippet here worked for me (with an additional return statement)

```auto
PUT foo/_doc/1?refresh
{
  "key" : "value"
}

GET foo/_search
{
  "script_fields": {
    "test": {
      "script": {
        "lang": "painless",
        "source": "return doc['key.keyword'].value=='user' ? 1 : null"
      }
    }
  }
}

```

---

<div class="post-metadata">

### Author: ![Wassim\_Ben\_Amor](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wassim_ben_amor/32/39799_2.png) [@Wassim\_Ben\_Amor](https://discuss.elastic.co/u/Wassim_Ben_Amor)
#### Post date: [December 9, 2019, 2:20pm UTC](https://discuss.elastic.co/t/cant-return-number-from-script-fields/211133/3 "2019-12-09T14:20:26Z")

</div>

Hello,  
Thank you for your very fast reply.  
I am using 7.1 version on AWS cloud.  
This snippet worked perfectyly for me too. I think the return statement is the missing thing :D.

But this is so strange, with string value I don't need to put return, when I put the number value directly I don't need to put return too. I don't know how to explain this.

---

<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: [January 6, 2020, 2:25pm UTC](https://discuss.elastic.co/t/cant-return-number-from-script-fields/211133/4 "2020-01-06T14:25:36Z")

</div>

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