Ситуация: Карта Elasticsearch, полная сборок.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();
Это будет просто показать мне все пользователи близко к Нью-Йорк, но расстояние OFC еще рассчитывается в Нью-Йорке, а не ко мне. Мне кажется, мне нужна какая-то агрегация, но я не понимаю. Где мне нужно поставить myLocation.lat и myLocation.lon?
, как я могу сделать это в Java? .. – cari