【发布时间】:2016-03-06 21:50:56
【问题描述】:
我正在尝试找到一种方法让 elasticsearch 返回包含在多边形内的记录 - 通过使用 searchkick(首选)或直接使用弹性搜索 + ruby。
我看到 searchkick 可以处理返回点附近或框内的记录,但我看不到如何构造对多边形内记录的查询。非常感谢任何方向。
谢谢
【问题讨论】:
标签: ruby-on-rails ruby elasticsearch searchkick
我正在尝试找到一种方法让 elasticsearch 返回包含在多边形内的记录 - 通过使用 searchkick(首选)或直接使用弹性搜索 + ruby。
我看到 searchkick 可以处理返回点附近或框内的记录,但我看不到如何构造对多边形内记录的查询。非常感谢任何方向。
谢谢
【问题讨论】:
标签: ruby-on-rails ruby elasticsearch searchkick
可能会帮助某人。
在名为 Vendor 的模型中,具有名为 delivery_area 的多边形属性,您可以执行以下操作。
Vendor.search('*', where: {
delivery_area: {
geo_shape: {
type: 'point',
relation: 'intersects',
coordinates: [params[:lng], params[:lat]]
}
}
})
【讨论】: