使用Searchkick或Rails + ElasticSearch

时间:2016-03-06 21:50:57

标签: ruby-on-rails ruby elasticsearch searchkick

我正试图找到一种让弹性搜索返回包含在多边形内的记录的方法 - 通过使用searchkick(首选)或直接使用弹性搜索+ ruby​​。

我看到searchkick可以处理一个点附近或一个盒子里面的返回记录,但是我看不到如何为多边形内的记录构造查询。任何方向都非常赞赏。

由于

1 个答案:

答案 0 :(得分:2)

可能会帮助某人。

在名为Vendor且具有名为delivery_area的多边形属性的模型中,您可以执行以下操作。

Vendor.search('*', where: {
      delivery_area: {
        geo_shape: {
          type: 'point',
          relation: 'intersects',
          coordinates: [params[:lng], params[:lat]]
        }
      }
    })