# Access field document in an elasticsearch query

**URL:** <https://discuss.elastic.co/t/access-field-document-in-an-elasticsearch-query/119123>\
**Category:** Elasticsearch\
**Created:** [February 8, 2018, 8:40pm UTC](https://discuss.elastic.co/t/access-field-document-in-an-elasticsearch-query/119123 "2018-02-08T20:40:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![citestra2](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/citestra2/32/27574_2.png) [@citestra2](https://discuss.elastic.co/u/citestra2)\
**Post date:** [February 8, 2018, 8:40pm UTC](https://discuss.elastic.co/t/access-field-document-in-an-elasticsearch-query/119123/1 "2018-02-08T20:40:35Z")

</div>

For example suppose we have this mapping :

```
{
    "location":{
        "dynamic":"false",
        "properties":{
            "locality":{"type":"text"},
            "country":{"type":"text"},
            "postalCode":{"type":"text"},
            "coordinates":{"type":"geo_point"},
            "radius":{"type":"double"}
        }
    }
}

```

And this is my query :

```
GET index_name/location/_search
{
    "query": {
        "bool": {
            "filter": {
                "geo_distance": {
                    "coordinates": [
                        2.352222, 
                        48.999
                    ],
                    "distance": $radius <--- *(here I want to access the
                                               value of radius in document)*
                 }
            }
        }
    }
}

```

Is there a mean to access a field document value in an Elasticsearch query ?

---

<div class="post-metadata">

**Author:** ![mnozawa](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mnozawa/32/15091_2.png) [@mnozawa](https://discuss.elastic.co/u/mnozawa)\
**Post date:** [February 9, 2018, 7:21am UTC](https://discuss.elastic.co/t/access-field-document-in-an-elasticsearch-query/119123/2 "2018-02-09T07:21:30Z")

</div>

Hi,  
How about using [Geo-Shape Datatype datatype (cirle)](https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-shape.html) and [GeoShape Query (point)](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-geo-shape-query.html)?

---

<div class="post-metadata">

**Author:** ![citestra2](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/citestra2/32/27574_2.png) [@citestra2](https://discuss.elastic.co/u/citestra2)\
**Post date:** [February 9, 2018, 8:24am UTC](https://discuss.elastic.co/t/access-field-document-in-an-elasticsearch-query/119123/3 "2018-02-09T08:24:42Z")

</div>

Hi,

Eventhough I will still need to access the value in the field 'radius'.

```
GET index_name/location/_search
{
    "query": {
        "geo_shape": {
            "location": { 
                "shape": { 
                    "type": "circle", 
                    "radius": $radius, <-- (here I want to get the radius stored in each document while 
                                                           searching)
                    "coordinates": [ 
                        2.352222, 
                        48.999
                    ]
                }
            }
        }
    }
}
```

---

<div class="post-metadata">

**Author:** ![citestra2](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/citestra2/32/27574_2.png) [@citestra2](https://discuss.elastic.co/u/citestra2)\
**Post date:** [February 9, 2018, 7:13pm UTC](https://discuss.elastic.co/t/access-field-document-in-an-elasticsearch-query/119123/4 "2018-02-09T19:13:34Z")

</div>

the **Script Query** does the trick :

```
GET index_name/location/_search
{
    "query": {
         "bool": {
             "must": [
                 {
                     "script": {
                         "script": {
                            "inline": "doc['coordinates'].planeDistance(48.856614 , 2.37959999) <= doc['radius'].value",
                            "lang": "painless"
                         }
                     }
                  }
             ]
         }
     }
 }
```

---

<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:** [March 9, 2018, 7:13pm UTC](https://discuss.elastic.co/t/access-field-document-in-an-elasticsearch-query/119123/5 "2018-03-09T19:13:36Z")

</div>

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