Я использую geo_distance
фильтр с шиной в моем запросе, и он отлично работает:
search.filter :geo_distance, :distance => "#{request.distance}km", :location => "#{request.lat},#{request.lng}"
Я ожидал, что результат будет как-то включатьвычисленное расстояние до географического местоположения, которое я использовал для моего фильтра.
- это способ указать эластичному поиску, чтобы включить его в ответ, чтобы мне не приходилось вычислять его в рубинах для каждого результата.?
== ОБНОВЛЕНИЕ ==
Я нашел ответ в группе Google:
search.sort do
by "_geo_distance", "location" => "#{request.lat},#{request.lng}", "unit" => "km" if request.with_location?
end
сортировка по _geo_distance
дастрасстояние в сырых результатах.