带有多个geo_bounding_box的Elasticsearch查询

时间:2018-06-21 12:46:29

标签: elasticsearch

我是Elasticsearch的新手,我有一个图像数据库,上面附加了确切的地理位置。

我尝试通过传递多个geo_bounding_boxes搜索这些图像。例如:我想要巴黎或伦敦的所有图像,因此我的结果应该具有来自两个地方的图像。在下面的代码中,我对所有位置(巴黎,伦敦等)进行了while循环,并对每个位置都进行了“应”查询。但这不起作用...如果我把“必须”代替应有的话,它会起作用,但是我没有图像,因为图像不能在巴黎和伦敦位于同一位置。有人可以帮忙做这个多重搜索吗?谢谢。

locations.forEach(loc => {
            search.query.bool.should.push({
                "geo_bounding_box" : {
                    "info.location.geo" : {
                        "top_right" : {
                            "lat" : loc.northeast.lat,
                            "lon" : loc.northeast.lng
                        },
                        "bottom_left" : {
                            "lat" : loc.southwest.lat,
                            "lon" : loc.southwest.lng
                        }
                    }
                }
            })

0 个答案:

没有答案