Предназначение и возможности
SDK Pullenti Address предназначено для разработчиков информационных систем, имеющих дело с адресными объектами России.
Это открытое программное обеспечение представлено в функционально эквивалентных исходных кодах
на языках программирования C#, Java, Python и Javascript.
SDK позволяет искать в русскоязычных текстах адреса, заданные в свободной форме, нормализовывать их и
сопоставлять с объектами ГАР ФИАС.
Текст может поступать, например, из поля ввода или из произвольного документа с множеством адресов.
В SDK есть возможность поиска ГАР-объектов по реквизитам (кадастровому номеру, guid и пр.), а также по части наименований,
что может оказаться полезным для составления списков вариантов при вводе для быстрого выбора.
С помощью SDK можно получить полную иерархию всех объектов ГАР, что демонстрируется на вкладке "Поиск".
Лицензионная политика
Non-Commercial Freeware - система бесплатна для некоммерческого использования. Для бесплатной версии доступен индекс с объектами 77-го региона (Москва).
Commercial Software - для коммерческого использования можно приобрести бессрочную лицензию, она без ограничений количества инсталляций и включает техподдержку. Для коммерческой версии доступен полный индекс, а также утилита, преобразующая объекты из формата ГАР (xml) в этот индекс.
Индекс ГАР
В настоящее время информация об адресных объектах выкладывается на сайте ГАР ФИАС
в формате xml, сжатый архив которой занимает около 44Гб, после распаковки 312Гб.
Для своей работы SDK обращается не к внешнему ресурсу, а к локальному индексу, в который преобразуются эти объекты из xml.
Результирующий индекс, с которым работает SDK, оптимизирован под поисковые задачи и занимает в полной версии 23Гб (11Гб в сжатом виде).
Как и в исходных данных, основной объём информации занимают дома, участки и комнаты. Если они не нужны, то урезанный индекс имеет объём около 0.5Гб.
Индекс создаётся с помощью специально разработанной утилиты. Мы планируем обновлять индекс раз в два месяца, владельцы коммерческой версии
могут делать это на своей стороне чаще с помощью этой утилиты.
ВНИМАНИЕ! Индекс ГАР не обязателен для работы SDK - адреса будут выделяться и нормализовываться без индекса,
просто не будет делаться сопоставление объектам ГАР и соответствующая корректировка. Ведь SDK работает не только с российскими адресами!
Реализация и платформы
Исходные коды для языков C# (Framework и Core), Java, Python3, Javascript (Node.js) и документация получены с помощью конвертера Unisharping.
Конвертер генерирует функционально эквивалентный код, что подтверждается многочисленными автотестами, которые также конвертируются и корректно отрабатывают на конечных языках.
Скорость обработки на разных языках отличается: C# и Java примерно одинаковы по времени исполнения, Javascript медленнее в 5 раз, Python - в 20 раз.
SDK может использоваться на любых платформах, поддерживающих хотя бы один из перечисленных языков.
В качестве движка, выделяющего адреса из текста, используется SDK Pullenti.
SDK самодостаточно и для своего использования не требует сторонних библиотек или предустановленного ПО.