1
情况: 一个Elasticsearch地图全Geopoints的。Elasticsearch:基于距离的订单项目到A点,但显示的距离B点计算
我想通过自己的距离来分类的某个位置点,但需要他们距离我的位置B. 像“给我的人接近纽约,他们对我距离”
我得到了什么等等远:
// filterquery is a simple matchall() filter
FilteredQueryBuilder filteredQuery = QueryBuilders.filteredQuery(
filterquery,
FilterBuilders.geoDistanceRangeFilter("location")
);
SearchResponse search = client.prepareSearch("myindex")
.setTypes("user")
.setQuery(filteredQuery)
.addSort(SortBuilders.geoDistanceSort("location")
.point(newyork_lat, newyork_lon)
.unit(DistanceUnit.KILOMETERS)
.order(SortOrder.ASC))
.execute()
.actionGet();
这只会告诉我所有靠近纽约的用户,但距离仍然计算到纽约,而不是我。 我想我需要某种形式的聚集,但我不明白它的权利。 我在哪里需要把myLocation.lat和myLocation.lon?
我怎么能做到这一点在Java ..? – cari