53 lines
3.5 KiB
Markdown
53 lines
3.5 KiB
Markdown
# py-phias
|
||
Python application that can operate with FIAS (Russian Address Object DB)
|
||
|
||
Простое приложение для работы с БД ФИАС, написано для Python 2.7, использует БД PostgreSQL
|
||
|
||
## Возможности
|
||
1. API (выходной формат - JSON), основные функции которого:
|
||
- Актуализация AOID, AOGUID.
|
||
- Получение полного дерева адресного объекта по AOID.
|
||
- Поиск адресного объекта по произвольной строке, выдает 10 самых релеватных результатов, может быть "мягким",
|
||
с более широкими вариациями и исправлением опечаток (для подсказок), или "строгим" (к примеру, для автоматического
|
||
импорта из внешних систем).
|
||
2. Автоматическое развертывание базы ФИАС
|
||
- Из директории с файлами XML (like 'AS_ADDROBJ_20160107_xxx.XML').
|
||
- Напрямую с HTTP сервера ФНС.
|
||
3. Актуалиация базы (из XML, HTTP) с возможностью выбора необходимых обновлений.
|
||
|
||
|
||
## Установка
|
||
Протестирована работа на следующих ОС: [Windows](#windows) (8.1) и [Debian](#debian-linux) Jessie
|
||
|
||
### Зависимости
|
||
|
||
_Внимание_! Только Python 2.7, только PostgreSQL, только Sphinx. Python 3, MySQL/MariaDB, Lucene/Solr не
|
||
поддерживаются и не будут.
|
||
|
||
Для работы приложения необходимо достаточное кол-во RAM (1Gb+) и 4.5Gb места на диске
|
||
(3-3.5Gb для скачивания архива с базой и 300-400Mb для индексов Sphinx). Также необходимы root права
|
||
(Администратора, для OS Windows), для работы searchd и предварительной установки.
|
||
Рекомендую устанавливать или на отдельном сервере, или на своей машине, либо же на VPS.
|
||
На shared хостинге работоспособность не гарантируется (только если хостер Вам сам все установит и настроит,
|
||
и разрешит запуск демонов - читай: "невозможно")
|
||
|
||
Предварительно обязательно установить и настроить:
|
||
|
||
1. Python 2.7.x, pip
|
||
2. PostgreSql 9.5 и выше (из-за синтаксиса _ON CONFLICT ... DO_)
|
||
3. Sphinx 2.2.1 и новее
|
||
4. Web-сервер с поддержкой WSGI, любой, по Вашему желанию.
|
||
|
||
### Windows
|
||
1. Установить lxml, через pip не ставится, так что качаем [отсюда](https://pypi.python.org/pypi/lxml/3.5.0).
|
||
2. Установить unrar.exe (можно установить WinRar целиком).
|
||
3. Установить sphinxapi последней версии (либо взять из директории Sphinx):
|
||
|
||
`python -m pip install https://github.com/Romamo/sphinxapi/zipball/master`
|
||
|
||
|
||
### Debian Linux
|
||
1. Установить unrar
|
||
2. Установить sphinxapi последней версии:
|
||
|
||
`pip install https://github.com/Romamo/sphinxapi/zipball/master` |