半径搜索问题?

时间:2016-04-14 13:05:43

标签: elasticsearch

我们在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
                    ]
                }
            }
        }
    }
}

我们只是误解了这种搜索是如何运作的,还是我们如何接近这个问题?

0 个答案:

没有答案