我在ES中有一个有“边界”字段的文档。这是该字段内容的示例:https://gist.github.com/litzinger/a95342dedc0081c8db8d
给定lon / lat点,我需要能够查询此索引以查找该点所属的文档。我在构建这个查询时遇到了麻烦,似乎无法找到一个明确的示例,说明如何在任何地方执行此操作。
这是我的一个查询示例,其中坐标数组是lon / lat点。我已经有一个工作查询,它将使用多边形来查找所有具有lon / lat点的文档,但我似乎无法让它以相反的方式工作。
{
"query": {
"filtered": {
"filter": {
"geo_shape": {
"boundaries": {
"relation": "intersects",
"shape": {
"coordinates": [
[
[-96.960876,32.795025]
]
],
"type": "point"
}
}
}
},
"query": {
"match_all": {}
}
}
}
}
答案 0 :(得分:6)
想出来。首先,我的映射是错误的。该领域被称为"边界"不是"边界"。哎呀。其次,坐标值是错误的。搜索查询应为:
{
"query": {
"filtered": {
"filter": {
"geo_shape": {
"boundaries": {
"relation": "intersects",
"shape": {
"coordinates": [
-96.960876,
32.795025
],
"type": "point"
}
}
}
},
"query": {
"match_all": {}
}
}
}
}