我是使用太阳黑子宝石的新手。我已经安装并正确索引和查询。但是,我现在尝试通过包含地理搜索来绑定搜索参数。我的由 SOLR 索引的数据库表具有纬度和经度字段,但我无法进行地理搜索。
这是我的模型中的内容:
searchable do
.
.
.
double :latitude, :as => "lat"
double :longitude, :as => "lon"
location (:location) { Sunspot::Util::Coordinates.new(lat, lon) }
end
但是,当我运行 rake 任务重新索引时,它会失败并显示以下内容:
undefined method `lat' for #<Product:0x1076e6650>
我也试过:
latlon(:location){ Sunspot::Util::Coordinates.new(lat, lon) }
和
location(:location){ Sunspot::Util::Coordinates.new(:latitude, :longitude) }
我尝试了各种不同的选项,例如传入 :latitude 和 :longitude 而不是 lat, lon 但我似乎每次都遇到不同的错误。
我安装了以下 gem: sunspot (2.0.0, 1.3.3, 1.2.1) sunspot_rails (1.3.3, 1.2.1) sunspot_solr (2.0.0)
任何建议将不胜感激!提前致谢。