Geo point distance with multiple locations in array

Here is the link for curl queries and data: Sorting geopoints in array · GitHub

On Jul 19, 7:48 pm, sakaraut sakari.rautiai...@gmail.com wrote:

I am trying to sort items which have location array. Each item can
have more than one location and I am using the following sorting
query:
{

"sort" : [
    {
        "_geo_distance" : {
            "pin.location" : [60, 20],
            "order" : "asc",
            "unit" : "km"
        }
    }
],

"query": {"match_all": {}}

}'

Then I read the "sort" value to get distance of item location's to the
given location(lat:20,long:60). This works correctly if the item has
only one location but if there is more than one as in here:
{
"message" : "Locations",
"pin": {
"location": [[60,20],[50,20]]
}}

The "sort" value becomes 1045.90911935061 not 0.0 as expected. It
doesn't matter if I am using desc or asc as the sorting order, but it
still gives the same output and calculates the distance from the last
array item.

Is there a way to get the distance to the closest location from that
array and sort items using some other query?
(Other than create index entries for each location)