我们在Elasticsearch 1.3.2。
在对线串进行径向搜索时,我们似乎无法获得记录。
我们的映射可以细分为:
{
"simpleline":{
"properties": {
"geo_linestring": {
"type": "geo_shape",
"tree": "quadtree",
"tree_levels": 26
}
}
}
}
我们有一条线性路径,形成一个" U":
{
"geo_linestring": {
"type": "linestring",
"coordinates": [
[
-96.6906661987305,
47.7989692687988
],
[
-96.7057800292969,
47.2933502197266
],
[
-96.3336181640625,
47.2952117919922
],
[
-96.3226318359375,
47.8358612060547
]
]
}
}
中间两点之间的连接似乎在距离明尼苏达州费尔顿市15-20英里的范围内。所以,如果我们想找到所有"小径"在距费尔顿30英里的范围内,我们希望它出现。
但是,对以Felton(半径30英里)为中心的圆圈进行过滤不会返回该项目。但是,将半径增加到40英里会:
{
"filter": {
"geo_shape": {
"geo_linestring": {
"shape": {
"type": "circle",
"radius": "30mi",
"coordinates": [
-96.5055999755859,
47.0751991271973
]
}
}
}
}
}
我们只是误解了这种搜索是如何运作的,还是我们如何接近这个问题?