我有多个包含地理位置的文档。我想查询一下所有位置在另一个文档(A)的给定距离以下的文档(比如B,C,D)。 我所有的文档都具有“类型”:“ geo_point”的位置,并且可以使用该过滤器找到给定点附近的所有对象:
"filter" : {
"geo_distance" : {
"distance" : "{{radius}}",
"location" : {
"lat" : "{{lat}}",
"lon" : "{{lon}}"
但是,要获得我的请求中的延迟,我需要先发出请求,请求文件A的坐标,然后将其放入第二个请求中。
是否有一个查询(本着terms query的精神)可以让我做这样的事情?
"filter" : {
"geo_distance" : {
"distance" : "{{radius}}",
"location" : {
terms:{ "id" : "A", "path" : "location"}
除了避免一次往返之外,它还可以确保一切都连贯完成,而且我不必在lat,lon中手动解析geopoint。
预先感谢