ElasticSearch -- use distance from point to affect query relevance
The recently (0.90.4) added function_score query type adds support for ranking based on distance. This is an alternative to the custom score query type.
An example lifted from there:
"query": { "function_score": { "functions": [ { "gauss": { "loc": { "origin": "51,0", "scale": "5km" }}}, ] }}
This applies a decay function (there are several) to a field ("loc") that scores against the distance from an origin given a particular scale. This is exactly what you'd want for distance ranking since it gives you a lot of flexibility to how it should rank without writing custom scripts.
You can use distance
function in the script of the Custom Score Query to modify _score
based on the distance from a centerpoint.