【发布时间】:2014-02-22 01:17:38
【问题描述】:
我正在尝试在 ES 1.0.0 上设置 geo_point 对象并针对它运行一个简单的概念验证查询,但查询未能返回任何命中。以下是我的设置步骤:
1) 创建映射:
PUT jay/geotest/_mapping
{
"geotest" : {
"properties" : {
"name" : {
"type" : "string"
},
"pin" : {
"type": "geo_point"
}
}
}
}
2) 验证映射:
GET jay/geotest/_mapping
3) 添加一条数据
put jay/geotest/1
{
"name": "test1",
"pin": {
"lat": 0,
"lon": 0
}
}
4) 查询该数据:
GET jay/geotest/_search?search_type=count
{
"filtered" : {
"filter" : {
"geo_distance" : {
"distance" : "100km",
"pin" : {
"lat" : 0,
"lon" : 0
}
}
}
}
}
我的预期结果是我将返回一个命中,但查询没有返回任何内容。
提前致谢!
【问题讨论】:
-
看来你正在解决这个问题:elasticsearch.org/guide/en/elasticsearch/reference/master/…。您是否有理由离开查询部分(match_all)?
-
“match_all”是隐式的,因此 ES 不需要。我确实尝试添加它只是为了仔细检查,但我仍然没有得到任何结果。
标签: elasticsearch