我正在使用带有
我原本期望结果中会包含筛选时使用的地理位置计算距离。有没有办法告诉 Elasticsearch 在响应中包含这个信息,这样我就不需要为每个结果在 Ruby 中计算了?
== 更新 ==
我在 Google 群组 找到了答案:
按照
geo_distance
过滤器和tire的查询,并且它可以正常工作:search.filter :geo_distance, :distance => "#{request.distance}km", :location => "#{request.lat},#{request.lng}"
我原本期望结果中会包含筛选时使用的地理位置计算距离。有没有办法告诉 Elasticsearch 在响应中包含这个信息,这样我就不需要为每个结果在 Ruby 中计算了?
== 更新 ==
我在 Google 群组 找到了答案:
search.sort do
by "_geo_distance", "location" => "#{request.lat},#{request.lng}", "unit" => "km" if request.with_location?
end
按照
_geo_distance
进行排序将在原始结果中产生距离。
sort
字段? - phoet