Pat, either I do not understand your answer or I did not make my question clear. I believe your suggestion would return users within a distance of New York. But what I am trying to do is return users within a distance of both New York and London. Essentially, trying something like this (which does not work):
:geo => [ [ @ny.lat, @ny.lng], [ @london.lat, @london.lng ] ] Thanks for your help. On May 18, 12:39 am, Pat Allan <[email protected]> wrote: > Hi Anatoly > > What I'm thinking is that you make Location the searchable model - so > have all references to users from within the Location define_index > block. > > And then, do a grouped search - by user_id (which should be set up as > an attribute), and sort the overall results by distance. > > Location.search( > :geo => [[email protected], @ny.lng], > :group_function => :attr, > :group_by => "user_id", > :order => "@geodist ASC, @relevance DESC" > ) > > Add in :without => {:user_id => @user.id} to exclude the focused user, > if needed. Now, I've no idea how nicely geo-location searching plays > with grouping, but it's worth a shot, right? And, should it all go to > plan, each location will have a distinct user. > > @locations.each_with_geodist do |location, distance| > # location.user > end > > Hope this helps. > > Cheers > > -- > Pat > > On 17/05/2009, at 8:52 PM, anatoly wrote: > > > > > Another distance question. As far as I can tell there is no clean > > solution for this, so wondering what suggestions may come out. > > > I have a User model which has many Locations. > > So a User may have a Location in New York and a Location in London. > > > How would I go about doing a search for other Users within X distance > > of either New York or London, and then order the results by distance? > > > One way of solving for this would be to do to separate searches, > > combine the results, and order by distance. However, since there can > > be other search criteria, the combined results would have to be sorted > > by weight and then distance. > > > I am not sure if this will work right, and not exactly sure how to > > even do that. > > > Any other suggestions? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
