Я занимаюсь разработкой веб-каталога по недвижимости и хочу геокодировать каждое объявление, используя geokit gem.Мой вопрос заключается в том, какой будет наилучший макет базы данных с точки зрения производительности, если я хочу выполнить поиск по стране, городу выбранной страны, административному району или ближайшей станции метро выбранного города.Доступные страны, города, административные зоны и метрополитены должны быть определены администратором каталога и должны быть подтверждены геокодированием.
Я придумал одну таблицу:
create_table "geo_locations", :force => true do |t|
t.integer "geo_location_id" #parent geo location (ex. country is parent geo location of city
t.string "country", :null => false #necessary for any geo location
t.string "city", #not null for city geo location and it's children
t.string "administrative_area" #not null for administrative_area geo location and it's children
t.string "thoroughfare_name" #not null for metro station or street name geo location and it's children
t.string "premise_number" #house number
t.float "lng", :null => false
t.float "lat", :null => false
t.float "bound_sw_lat", :null => false
t.float "bound_sw_lng", :null => false
t.float "bound_ne_lat", :null => false
t.float "bound_ne_lng", :null => false
t.integer "mappable_id"
t.string "mappable_type"
t.string "type" #country, city, administrative area, metro station or address
end
Окончательное географическое местоположениеЭто адрес, который содержит всю необходимую информацию для размещения маркера объявления о недвижимости на карте.Но я все еще застрял в поиске.
Любая помощь будет высоко ценится.