我正试图找到一种让弹性搜索返回包含在多边形内的记录的方法 - 通过使用searchkick(首选)或直接使用弹性搜索+ ruby。
我看到searchkick可以处理一个点附近或一个盒子里面的返回记录,但是我看不到如何为多边形内的记录构造查询。任何方向都非常赞赏。
由于
答案 0 :(得分:2)
可能会帮助某人。
在名为Vendor
且具有名为delivery_area
的多边形属性的模型中,您可以执行以下操作。
Vendor.search('*', where: {
delivery_area: {
geo_shape: {
type: 'point',
relation: 'intersects',
coordinates: [params[:lng], params[:lat]]
}
}
})