我正在使用Geo Distance Filter和ElasticSearch。查询工作正常,但我想知道是否有可能获得为每个文档计算的距离。例如,如果我将距离阈值设置为100km,我想获得每个文档的距离:
doc1 :24 km
<< 100公里
doc2 :12 km
<< 100公里
...
这可能吗?如何?
答案 0 :(得分:1)
是的,我相信这是可能的,但是当我尝试时,我无法使其工作(我正在使用Tire,一个RoR宝石,所以你可能只有ElasticSearch更好运。)
请看一下这个问题:https://github.com/karmi/tire/issues/169
我,niuage
,在那里问同样的问题。
首先,我认为你必须按距离排序。
然后距离应该在_score
字段中,但由于某种原因,它不适合我。
我查看了文档,找到了track_scores
:
When sorting on a field, scores are not computed.
By setting track_scores to true, scores will still be computed and tracked.
因此,您可能希望尝试将track_scores
设置为true,并查看您的_score
字段。