我正在使用带有ElasticSearch的地理距离过滤器。查询工作正常,但我想知道是否可以获得为每个文档计算的距离。例如,如果我将距离阈值设置为 100 公里,我想获取每个文档的距离:
文档 1:24 km
<< 100 公里
文档 2:12 km
<< 100 公里
...
这可能吗?如何?
我正在使用带有ElasticSearch的地理距离过滤器。查询工作正常,但我想知道是否可以获得为每个文档计算的距离。例如,如果我将距离阈值设置为 100 公里,我想获取每个文档的距离:
文档 1:24 km
<< 100 公里
文档 2:12 km
<< 100 公里
...
这可能吗?如何?
是的,我相信这是可能的,但是当我尝试时,我无法让它工作(我正在使用轮胎,一个 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
字段。