【发布时间】:2022-01-24 16:26:09
【问题描述】:
我已经实现了 Elastic Search - Java API 来根据距离搜索数据。
QueryBuilder geoQuery = QueryBuilders.geoDistanceQuery("article_location.location").point(lat , lon).distance(5 , DistanceUnit.KILOMETERS);
QueryBuilders.boolQuery().filter(geoQuery);
但是,我想从输入纬度/经度获取每个结果的距离。有什么办法可以指定吗?
我看到在弹性 DSL 中我们可以通过 script_fields 来实现,但不知道如何通过 Java API 获取它。
"script_fields": {
"distance": {
"script": "doc['latlong'].distanceInKm(lat, lon)"
}
我正在使用
elasticsearch-rest-high-level-client 7.9.2 版本。
【问题讨论】:
标签: elasticsearch