1

我正在结合 sunspot_rails gem (2.0.0.pre) 实现 Rails 3.1 应用程序,并且我试图根据多个条件来确定搜索结果的范围,其中一个使用 in_radius 方法过滤到某个点的地理距离:

Sunspot.search(Post) do
    any_of do
      with(:location).in_radius(position[:lat], position[:lng], 50, :bbox => true)
      with :expired_at, nil
    end
end

上面的代码导致以下错误:“Sunspot::DSL::Restriction:0x007fa7e60f0790 的未定义方法 `in_radius'”。在 any_of 块之外, in_radius 方法就像一个魅力。

由于空间搜索仍然是 sunspot 的预发布功能,因此似乎还没有实现对范围界定的支持。有谁知道作为太阳黑子分离的一部分的空间范围界定的解决方法?

4

1 回答 1

0

已通过 PR 修复https://github.com/sunspot/sunspot/pull/271您可以使用此 gem 的最新预发布版本来获得所需的功能。

于 2012-10-22T19:47:12.660 回答