Elasticsearch geo_distance过滤器 - 距离单位设置为km但似乎用米计算

时间:2014-04-15 10:13:39

标签: elasticsearch

我使用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
                    }
                }
            }
        }
    }
}

0 个答案:

没有答案