我正在结合 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 的预发布功能,因此似乎还没有实现对范围界定的支持。有谁知道作为太阳黑子分离的一部分的空间范围界定的解决方法?