searchkick:geo_distance_range:如何从X km过滤到Y km?

时间:2019-02-19 14:35:44

标签: ruby-on-rails ruby elasticsearch geospatial searchkick

这个问题是关于: https://github.com/ankane/searchkick

我想知道是否有一种方法可以过滤包含latlon并使用geo_distance_range进行索引的对象(在searchkick中未实现)。

我已经使用自述文件中的location: { near: ... } },并在纬度和经度范围内长达1公里,并显示以下信息:

Store.search(
  where: { 
    location: { 
      near: { 
        lat: lat, 
        lon: lng 
      }, 
      within: "1km" 
    } 
  },
  order: {
    sales_count: 'desc'
  },
  load: false
)

让我们说,如果有纬度和经度,我希望商店从1公里到3公里不等 https://www.elastic.co/guide/en/elasticsearch/reference/5.6/query-dsl-geo-distance-range-query.html

geo_distance_range: {
  from: "1km",
  to: "3km",
  'pin.location' => {
    lat: lat,
    lon: lng
  }
}

但是我需要从1km到3km的第二个请求...我正在尝试使用body_options,但没有成功。 (即使用searchkick 2.5)

0 个答案:

没有答案