Ruby on rails 轨道太阳黑子&x2B;空间搜索+;按家长分组

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

我的应用程序有一个路由列表,每个路由都有一个步骤列表。 我正在使用Solr/Sunpost索引step lat/lng坐标,并执行一些搜索。一段代码:

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