Добрый день! Появилась задача разработать веб приложение, в котором будет происходить поиск улица, дом, квартира.
Возникает вопрос какую технологию использовать на сервере, и главное какую бд выбрать SQL или NoSQL? И тут еще не малой задачей. Как быть когда в адресе. используются шоссе переулок, проезд, улицы с названием в 2,3,4 слова. Пример:Большой факельный переулок,Скотопрогонная улица, проезд и переулок - одно название улицы и проулка или такое 1-я улица Измайловского Зверинца. Пример стандартный: ул. Ленина д. 56, кв. 125.
Но бывают и такие: ул. Никольская, д. 27/2 вк. 16
ул. Россошанская, д. 17а кв 78
ул. Дорожная, д. 25, стр. 1 кв 55
ул. Днепропетровская, д. 34, корп. 2 вк 6
Как такие разбивать и хранить? И как по ним производить поиск??
Посмотрите на базы данных КЛАДР и ФИАС fias.nalog.ru/Updates.aspx
У них реляционная структура, из DBF легко сделать экспорт в mysql.
Собственно практически никто не пишет свои велосипеды и используют их.
Ты что, считаешь, что выбирешь инструмент правильный и все у тебя решится само по себе?
Да можно хоть на самом банальном MySQL реализовать.
Решает вовсе не выбор инструмента. А умение инструментом пользоваться.
Под БД можете Elastic заюзать. Забивать адреса можно в полу автоматическом режиме: если адрес стандартный
(ул|пр-т|пр|...). (Адрес улицы/проспекта/...), д. (буквы/цыфры), кв. (буквы/цыфры) - разбивать регуляркой, и вбивать автоматически, в противном случае в ручную.
Есть альтернативный вариант - пытаться искать адрес через гугл, далее пытаться получить адрес через его API