Ruby on rails 轨道太阳黑子&x2B;空间搜索+;按家长分组
我的应用程序有一个路由列表,每个路由都有一个步骤列表。 我正在使用Solr/Sunpost索引step lat/lng坐标,并执行一些搜索。一段代码:Ruby on rails 轨道太阳黑子&x2B;空间搜索+;按家长分组,ruby-on-rails,solr,geospatial,sunspot,sunspot-rails,Ruby On Rails,Solr,Geospatial,Sunspot,Sunspot Rails,我的应用程序有一个路由列表,每个路由都有一个步骤列表。 我正在使用Solr/Sunpost索引step lat/lng坐标,并执行一些搜索。一段代码: class Step < ActiveRecord::Base belongs_to :route searchable do integer :route_id, :references => Route latlon(:coordinates) { Sunspot::Util::Coor
class Step < ActiveRecord::Base
belongs_to :route
searchable do
integer :route_id, :references => Route
latlon(:coordinates) { Sunspot::Util::Coordinates.new(lat, lng) }
end
end
问题是:有没有一种方法可以按路由id对结果进行分组?换句话说,我只想为每条路线返回一个步骤。通过“组”选项解决
s = Step.search do
order_by_geodist(:coordinates, lat, lng)
end
s = Step.search do
group :route_id
order_by_geodist(:coordinates, lat, lng)
end
s.group(:route_id).groups.each do |g|
logger.info g.value
logger.info g.results[0].inspect
end