我使用geo_distance过滤器来获取与参考点相距一定距离的点。作为distance_unit,我设置了km,但是,当我运行我的代码时,我非常确定Elastic会计算米,而不是公里(所以在下面这个特殊情况下我会得到20米以内的点,不是20公里)。
任何想法为什么使用米而不是千米?
{
"query": {
"filtered": {
"query": {
"bool": {
"must_not": [
{
"term": {
"_id": {
"value": idnum
}
}
}
]
}
},
"filter": {
"geo_distance": {
"distance": 20,
"distance_unit": "km",
"geopoint": {
"lat": lat,
"lon": lng
}
}
}
}
}
}