Задать вопрос
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.

Что бы вы хотели увидеть в сервисе ФИАС?

Неспешно пилю сервис ФИАС , не официальный а свой. Что бы вы хотели видеть в нем. Реализованной на net core, соответственно будет работать на Debian и windows . Поддерживаемые базы Postgres MySQL MS SQL. На данный момент зареверсил их схемы что бы сэкономить место, реализовал загрузчик, куски старого кода для rest запросов, выводящие страну регион, город.

То что хочу реализовать это пропуск ненужных данных например нормативных документов, квартир и прочего стафа.

В общем делитесь своими соображениями что для вас нужно.

UPD.
Основной репозиторий, в дальнейшем будет дополняться
https://github.com/vkorotenko/FiasServer

Связанный репозиторий, офлайн парсер адресов, размер на диске ~180 мб. Размер в памяти ~600 мб.
https://github.com/vkorotenko/NAddressParser

Поддерживаемые фреймворки
  • netstandard1.3
  • netstandard2.1
  • net45
  • net46
  • net472
  • netcoreapp1
  • netcoreapp2
  • netcoreapp3
  • netcoreapp3.1

В общем движемся потихоньку, В первом вообще все близко к заглушкам.
Реализован загрузчик файлов с версиями.
Парсер и загрузчик в базу, пока только словари

Во втором вся логика до улиц, к сожалению текущий проект содержит более новые адреса, поэтому перешел к нему.

UPD. Ну что же импорт завершен.
Сейчас в планах добавление плагина для MySQL и морды для запросов.
Стек примерно такой .NET Core REST api, swagger в качестве документации интерфейсов.

На первое время статический список пользователей и админов, vuejs + bulma в качестве интерфейса

UPD: 3
Так на сегодня добавлен клиент на vue Identityserver4 немного заглушек. В общем начинаю все собирать к проду.
Кому нужны области и города, это уже присутствует.
  • Вопрос задан
  • 336 просмотров
Подписаться 1 Простой 10 комментариев
Решения вопроса 2
trapwalker
@trapwalker
Программист, энтузиаст
Посмотрите что предоставляет dadata. У них есть что можно повторить в своём сервисе, например, нормализация адреса.
Ещё прикольная штука для всякого рода голосовых помощников - это корреляционные выборки.
Поясню.
Пользователь разговаривает с ботом. В нём идёт речь о Париже или селе Ольховатка. Таких населенных пунктов сильно больше одного. Особенно Ольховаток. Однако какие-то ольховатки от пользователя в тысячах километров, а одна в десятке км. Какую из них скорее всего имеет в виду пользователь?

Итак, у нас есть несколько опорных адресов: домашний адрес пользователя из профиля, адреса последних запросов погоды от пользователя и т.д.
Теперь пользователь спрашивает где ближайшая пятёрочка в районе Ольховатки.
Мы ищем её в БД и по базе корреляций находим самые релевантные в порядке уменьшения релевантности. Предполагаем самую вероятную и, если у второй и третьей индекс релевантности слишком близок к первой, то уточняем: "это в таком-то-таком районе которая?", пользователь говорит, нет в в таком-то-другом.
Такой-то-другой район как отдельный адрес попадает в кеш POI пользователя и после очередного запроса Ольховатки в базе адресов мы выстраиваем их уже с новым индексом релевантности. Если снова на первом месте отвергнутый вариант, то пропускаем его и делаем следующее уточнение.

Написал сумбурно, но этого не хватает.

Вообще прикольно было бы иметь еще базу алиасов и синонимов топонимов.
Питер, Санкт-Петербург, Ленинград - это алиасы одного населенного пункта.
Ответ написан
@d-stream
Готовые решения - не подаю, но...
Кстати будет интересно пощупать функционал типа парсинга адреса есть например стрка адреса из выписки ЕГРЮЛ AS IS и надо ее "разложить" по KLADR/FIAS. По опыту работы с diadoc api - время от времени парсинг дает сбои. Притом очень жестокие с перекосом номера дома и т.п.
Если что - могу скинуть в личку реальный пример "ломающий" обе версии их парсера.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
В топку сетевые API - сделать автономное решение на sqlite.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы