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