This should be my last question lol. I have been trying out scenarios over
the weekend but could't get something to work so I reverted back to what
did work.
The code pulls the nearest users within 400km. Is it possible to return for
example maximum 400 users even if they're outside the 400km distance?
Example:
I have 100 users in the database. 20 from New York and 80 from California.
A user does a search in 10453 (Bronx, NY) and it returns 20 users that are
from New York in order from their distance. At the bottom of the list will
be the rest of the users from the database (80 from California).
The reason for wanting to do this is because to do a search and pull only
20 users will be depressing for a new app. It would look much better to
list 100 users, even if 80 of them are from a different state than what the
user search.
I wasn't sure if this was possible.
def index
if location = Location.find_by_zipcode(params[:search])
latitude = location.latitude * Math::PI / 180
longitude = location.longitude * Math::PI / 180
locations = Location.search(
:geo => [latitude, longitude],
:with => {:geodist => 0.0..600_000.0},
:order => 'geodist ASC',
:per_page => 5_000
)
@users = User.where(zip_code: locations.map(&:zipcode))
else
@users = User.search(params[:search])
end
end
--
You received this message because you are subscribed to the Google Groups
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/groups/opt_out.