class Office < ActiveRecord::Base
has_many :users
searchable do
text :name
location :coordinates do
Sunspot::Util::Coordinates.new(latitude, longitude)
end
end
end
class User < ActiveRecord::Base
belongs_to :office
searchable do
text :name, :default_boost => 2
text :description
end
end
При такой настройке, как я могу выполнить поиск с помощью SunSpot (в Solr) в Rails для пользователя в пределах заданного широты / долготы?Например, я хочу быть в состоянии сделать это:
@search = User.search() do
fulltext(params[:q])
with(:coordinates).near(@lat, @long, :precision => 5)
end
Следующее прекрасно работает:
@search = Office.search() do
fulltext(params[:q])
with(:coordinates).near(@lat, @long, :precision => 5)
end
Каков наилучший способ сделать это, учитывая, что широта / долготадля каждого пользователя реально живет класс Office?