How does ES stores the geopoints or location of an entry?

I need to return nearest 10 results with score above a threshold that I specify.

I do have the location of every entry, as a geopoint with latitude and longitude.

I doubt a geospatial index would be useful for such a query, because the distance will be checked for every matching result with respect to the location specified in the query...

So, is the distance calculation slow? does ES has the option to store the location on a HilbertCurve or should I do that in my app, then store the value?