# esRDD not returning SCRIPT\_FIELDS values

**URL:** <https://discuss.elastic.co/t/esrdd-not-returning-script-fields-values/40077>\
**Category:** Elasticsearch\
**Tags:** es-hadoop\
**Created:** [January 26, 2016, 1:46am UTC](https://discuss.elastic.co/t/esrdd-not-returning-script-fields-values/40077 "2016-01-26T01:46:46Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![kyunam](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kyunam/32/3576_2.png) [@kyunam](https://discuss.elastic.co/u/kyunam)\
**Post date:** [January 26, 2016, 1:46am UTC](https://discuss.elastic.co/t/esrdd-not-returning-script-fields-values/40077/1 "2016-01-26T01:46:46Z")

</div>

Returned hashMap doesn't include 'distance' key.  
Do I need to use esJsonRDD instead?

```json
{
  "query": {
    ...
  },
  "fields": [
    "_source"
  ],
  "script_fields": {
    "distance": {
      "params": {
        "lat": 26.622713,
        "lon": -81.857765
      },
      "script": "doc['point'].distance(lat,lon)"
    }
  }
}

```

Thanks,  
Q

---

<div class="post-metadata">

**Author:** ![costin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/costin/32/44950_2.png) [@costin](https://discuss.elastic.co/u/costin)\
**Post date:** [January 27, 2016, 8:35pm UTC](https://discuss.elastic.co/t/esrdd-not-returning-script-fields-values/40077/2 "2016-01-27T20:35:16Z")

</div>

_added minor formatting to your post to make it readable - please do so yourself in the future. Thanks!_

Sorry but I'm not sure what you are asking. Can you be a bit more explicit in what you are trying to achieve, what is expected result/outcome and the current one?

Is this a queryDSL question or ES-Hadoop specific?

---

<div class="post-metadata">

**Author:** ![kyunam](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kyunam/32/3576_2.png) [@kyunam](https://discuss.elastic.co/u/kyunam)\
**Post date:** [January 29, 2016, 8:58am UTC](https://discuss.elastic.co/t/esrdd-not-returning-script-fields-values/40077/3 "2016-01-29T08:58:38Z")

</div>

This is an ES-hadoop question.  
Query looks like this.

```json
{
  "query": {
    "filtered": {
      "query": {
        "term": {
          "coname.raw": {
            "value": "abc inc"
          }
        }
      },
      "filter": {
        "bool": {
          "must": [
            {
              "term": {
                "city.raw": "fort myers"
              }
            },
            {
              "term": {
                "zip": "12345"
              }
            },
            {
              "query": {
                "match": {
                  "street": {
                    "query": "1234 xyz st",
                    "minimum_should_match": "75%"
                  }
                }
              }
            }
          ],
          "should": [
            {
              "geo_distance": {
                "distance": 500,
                "distance_unit": "m",
                "point": {
                  "lat": 12.34,
                  "lon": -56.78
                }
              }
            }
          ]
        }
      }
    }
  },
  "fields": [
    "_source"
  ],
  "script_fields": {
    "distance": {
      "params": {
        "lat": 12.34,
        "lon": -56.78
      },
      "script": "doc['point'].distance(lat,lon)"
    }
  }
}

```

In the Sense, I get the result back like this.

```json
{
   "took": 9,
   "timed_out": false,
   "_shards": {
      "total": 1,
      "successful": 1,
      "failed": 0
   },
   "hits": {
      "total": 1,
      "max_score": 16.71316,
      "hits": [
         {
            "_index": "myindex",
            "_type": "businesses",
            "_id": "AVHLPmOawjmarqgxrsIp",
            "_score": 16.71316,
            "_source": {
               "locnum": "871121299",
               "coname": "abc inc",
               "street": "xyz st",
               "city": "fort myers",
               "state": "fl",
               "state_name": "florida",
               "zip": "12345",
            },
            "fields": {
               "distance": [
                  109.94139695812709
               ]
            }
         }
      ]
   }
}

```

In SCRIPT\_FIELDS, I specified the distance and I got it no problem using Sense.  
When I run this query thru sc.esRDD(), I don't receive distance -\> 109.94139695812709.

So, the question is, how do I tell sc.esRDD() to include distance -\> 109.94139695812709 in the returned RDD?

Hope this helps.

Thanks,  
Q

---

<div class="post-metadata">

**Author:** ![costin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/costin/32/44950_2.png) [@costin](https://discuss.elastic.co/u/costin)\
**Post date:** [January 29, 2016, 10:46am UTC](https://discuss.elastic.co/t/esrdd-not-returning-script-fields-values/40077/4 "2016-01-29T10:46:27Z")

</div>

Currently, ES-Hadoop supports either `_source` or `fields` but not both. This is a problem for dynamic/custom metadata such as highlighting and there's an issue opened for it:

> <https://github.com/elastic/elasticsearch-hadoop/issues/460>

A workaround until actually fixed in your case would be to remove the \_source or break down the query into two parts; not ideal I know...

---

<div class="post-metadata">

**Author:** ![costin](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/costin/32/44950_2.png) [@costin](https://discuss.elastic.co/u/costin)\
**Post date:** [January 29, 2016, 10:46am UTC](https://discuss.elastic.co/t/esrdd-not-returning-script-fields-values/40077/5 "2016-01-29T10:46:57Z")

</div>

P.S. Thanks for the follow-up; made the topic much more clearer.

---

<div class="post-metadata">

**Author:** ![kyunam](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kyunam/32/3576_2.png) [@kyunam](https://discuss.elastic.co/u/kyunam)\
**Post date:** [January 29, 2016, 5:57pm UTC](https://discuss.elastic.co/t/esrdd-not-returning-script-fields-values/40077/6 "2016-01-29T17:57:41Z")

</div>

Thank you for your response.

- Q

---

<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:** [July 6, 2017, 1:26pm UTC](https://discuss.elastic.co/t/esrdd-not-returning-script-fields-values/40077/7 "2017-07-06T13:26:18Z")

</div>


