Sto usando un geo_distance
filter con tire nella mia interrogazione e funziona benissimo:Calcola distanza geo in elasticsearch
search.filter :geo_distance, :distance => "#{request.distance}km", :location => "#{request.lat},#{request.lng}"
mi aspettavo che il risultato sarebbe in qualche modo comprendere la distanza calcolata alla geo-localizzazione, che ho usato per il mio filtro
c'è un modo per dire a elasticsearch di includerlo nella risposta, in modo che non debba calcolarlo in ruby per ogni risultato?
== AGGIORNAMENTO ==
i found the answer in un gruppo google:
search.sort do
by "_geo_distance", "location" => "#{request.lat},#{request.lng}", "unit" => "km" if request.with_location?
end
classificare dal _geo_distance
produrrà la distanza nei risultati grezzi.
Grazie, l'ordinamento di _geo_distance ha funzionato! – jspooner
Vedere anche https://github.com/karmi/tire/issues/417#issuecomment-7331381 e https://gist.github.com/1051213 – karmi
@ karmi avete una buona soluzione per come mettere il reale geo-distance nel risultato invece del campo '' 'sort'''? – phoet