Hi all,
I would like to use the grouping feature of Sphinx but can't seem to
figure it out. I have two models like this:
class Venue < AR::B
has_many :events
end
class Event < AR::B
belongs_to :venue
define_index do
indexes :name
indexes :description
has "radians(venues.lat)", :as => :lat, :type => :float
has "radians(venues.lng)", :as => :lng, :type => :float
has venue(:id), :as => :venue_id
set_property :latitude_attr => "lat"
set_property :longitude_attr => "lng"
end
end
I am searching for events and grouping them by venues. Right now this
is done in Ruby like this:
result = Event.search(
"query",
:geo => [origin_lat * Math::PI / 180, origin_lng * Math::PI / 180],
:with => { "@geodist" => 0.0..10000.0 },
:order => "@geodist asc",
:include => :venue
)
@venues = Hash.new { |h,k| h[k] = Array.new() }
result.each_with_geodist do |event, distance|
venue = menu_item.venue
venue.dist = distance
@venues[venue] << event
end
In the view I show the venues sorted by their distance:
@venues.keys.sort_by {|v| v.dist}.each do |venue|
...
end
This gives me a nice way to loop over all venues and show the
associated events. I was wondering if I could skip the grouping in
Ruby and use Sphinx grouping and ordering?
Many thanks in advance!
Best,
Nickolay
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Thinking Sphinx" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/thinking-sphinx?hl=en
-~----------~----~----~----~------~----~------~--~---