OSM Gazetteer

а addr2* он у тебя обрабатывает?

Должон, по крайней мере индексирует.

И чтобы два раза не вставать, питерскую схему, associatedStreet и street2 + housenumber2, тоже должен переваривать.

Все равно много еще ошибок геокодера, в т.ч. когда адреса дословно совпадают. Надо чего-то еще подшаманить

Подшаманю, ради шаманства все и затевалось. А где дословно не совпал?

И не совпадающие есть. Часто не понятно, кто прав - БД УИКов или ОСМ. Помню, разница была в одной букве: улица Клязьминская или Клязьменская.

Полагаю надо ещё поработать над разбиением запроса на части, ибо отсутствие одной запятой всё ломает
Адрес из бд УИКов: Иркутская область город Иркутск, ул. Пискунова, 128

Я выбираю “Ошибка в базе УИКов” в таких случаях, эти адреса потом всеравно вручную перепроверять, просто раз уж мы сверяем уики с осм то осм я условно считаю верным.

А какую запятую тут надо убрать/добавить?
У меня по этому примеру нашлись три здания, 2 корпуса депо, и жилой дом.

Да, кстати, очень похоже, что дело в запятой. Вот еще: http://osm.me/checkuik.html#2431

Запятую между “Иркутская область” и “город Иркутск”. Вот еще пример без запятой http://osm.me/checkuik.html#2618

Не, запятые тут нипричем, но пример хороший. Если в кратце - проблема в Псковской области.

Может тогда выводить больше отладочной информации о причинах фейла. Вроде матрёшки: Область > Район > Город > … и расстояние от указанных координат УИК.

Тут же глазом видно, что домов с номером 1 аж 4 штуки.

У меня, к сожалению, моя личная виртулка не потянет Россию, поэтому не могу дать пример на результаты запроса с запятой и без и с областью в запросе и без нее.

Ну тут нужна отладочная инфа по геокодеру, что в индексе, запрос и полный результат. У меня она есть в веб-морде самого геокодера. Проблему с областями я уже нашел, но для нее надо индекс перестроить, это часа 3-4.

Да но придется поверить мне наслово что причина ошибки геокодера в данном случае не в этом.
Хотя дублирование адресов конечно тоже вредит.

Если в кратце, псковская область не попала в индекс т.к. я осел т.к. Псков содержится в имени Псковская область, и я проиндексировал сокращенный вариант, хотя он по идее для отображения, а не для индексации.

Дальше Псковская область не нашлась и весь запрос вернул пустой список. Если запрос возвращает мне пустой список, я пытаюсь поискать не столь точное совпадение, считая часть слов в запросе опциональными. Вот неточный запрос находит нужное здание, но и ряд лишних адресов.

Ошибок у меня если по чесноку две:

  1. Неверно проиндексирована область. (Это я поправил но индекс еще не перестраивал).
  2. Неверная сортировка (Это я знаю как починить, но пока руки не дошли).

Если сильно хочется пореверсинжинирить это дело - то вот исходники https://github.com/kiselev-dv/gazetteer
Коммит вот тут https://github.com/kiselev-dv/gazetteer/commit/84f7711654a3f550306784872cbc601724af14b0
Баг жил вот тут GazetteerWeb/src/main/java/me/osm/gazetteer/web/imp/Importer.java

Ну вот с одним домом: http://osm.me/checkuik.html#2618

Ладно, подождем перестройки индекса.

Да, мне тоже кажется, что нужно правит найденные баги, а уже потом добивать остатки. А то окажется, что баг проглотит всю оставшуюся тысячу :slight_smile:

Всю - врядли.
Если багов начнет нехватать - напишу еще :slight_smile:

Обновил, осталось 8 сотен.

Стало намного лучше, теперь ошибки так ошибки в данных.
Вот ещё типичная ошибка, видимо не добавлен разделитель “-” http://osm.me/checkuik.html#2055