Я уже сказал почему первый символ не канает. При совпадении name и housenumber лучше проверять что это название, а не наоборот, т.к. это проще и таких случаев меньше. А название проверяется банальным \w{4,}.
Вот с этого и надо было начинать. Ok, это адреса. Остальное?
Слушайте, это уже за гранью. «По просьбе AMDmi3». Да вы хоть вдесятером там соберитесь, свои building=entrance я не согласен менять на entrance=yes. Вики лежит, но сомневаюсь, что там есть пропозал на такую замену. Я сейчас пытаюсь откатить этот ченджсет.
Я должен извиниться, ибо настойчиво просил Котяру исправить ошибки, в том числе откатить замену entrance=yes на building=entrance, что в итоге по моей вине превратилось в обратную замену. Я руководствовался тем что entrance, являясь надмножеством building=entrance во всех случаях является лучшей ему заменой, хотя на деле оказалось что building=entrance используется на полтора порядка шире entrance (и на два порядка шире чем я думал) и где-то по нему даже строится адресация, в то время как entrance=* даже не принят. Итого я напоролся на то за что боролся, что в очередной раз подтверждает насколько плохо делать массовые правки без предварительного уведомления и обсуждения.
Замену действительно стоит откатить, либо добавить к каждому из building=entrance и entrance=yes второй. Только не надо больше спешить.
А с чего вообще решили, что entrance=* является эквивалентом building=entrance и отменяет его? А почему не barrier=entrance ?
Это же общепринятая схема теггирования последовательным уточнением свойств:
x=y => x=y + y=z => x=y + y=z + z=k
и так далее.
building=entrance/barrier=entrance/*=entrance - общая категория входа внутрь куда-то и вполне могут иметь разные свойства.
К примеру add:flats имеют смысл на building=entrance, но для barrier=entrance скорей всего неприменимы.
entrance=* - уточнение типа и предназначения входа.
Оставляя один entrance вы теряете информацию и схема рассыпается.
Кстати да - для подобных массовых правок думаю было бы лучше заливать отдельными коммитами по каждому типу исправлений. Скрипту-то всё равно один ченджсет сгенерировать или двадцать, а людям понимать, что именно на что было заменено и проверить на наличие ошибок будет гораздо легче. Ну и хорошим тоном было бы конечно обсудить изменения на форуме перед заливкой.
Это неисправимая проблема номинатима. Чтобы адресный поиск имел смысл, он должен вестись по адресному реестру, а из данных осм его нужно предварительно построить, чего номинатим даже близко не делает. Он ищет просто объекты осм по имени.