我正在尝试获取一个与圆相交的记录列表。
映射: 我有一个geo_point和一个geo_shape,但我只是指geo_shape
{
"mappings": {
"poi": {
"properties": {
"id": {
"type": "string",
"index": "not_analyzed"
},
"type": {
"type": "string",
"index": "not_analyzed"
},
"name": {
"type": "string",
"analyzer": "whitespace"
},
"pin": {
"type": "geo_point"
},
"geometry": {
"type": "geo_shape",
"tree": "quadtree",
"precision": "1m"
},
"extras": {
"type": "object"
}
}
}
}
}
记录(列表中的第一个,不一定匹配)
{
"id": 416824728,
"pin": [
11.2418666,
46.4718564
],
"geometry": {
"type": "Point",
"coordinates": [
11.2418666,
46.4718564
]
},
"extras": {
"capacity": "5",
"amenity": "parking",
"fee": "no"
},
"name": "",
"type": "poi"
}
查询:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"geo_shape": {
"geometry": {
"shape": {
"type": "circle",
"radius": "100km",
"coordinates": [
11,
46
]
}
}
}
}
}
}
}
有什么建议吗?
由于
答案 0 :(得分:0)
我正在并行使用node.js批量api实现,而不能搜索的记录。
利用承诺我已经在系列中使用了批量api,但只有可搜索的Point类型。
逐个切换到记录插入后,所有记录(包括Polygon和LineString)都正确索引(?),因此可搜索。