Проблема:
При первоначальной проектировки БД не учли разные кейсы поиска БД по адресу пользователей.
Есть замечательный город "Киров". И есть в разных городах проспекты "Кировский" или улицы "Кирова".
И когда нам надо найти исключительно пользователей по г. Киров, у нас в выборку попадают все адреса, где встречаются "киров".
Как адреса храниться у нас
"Кемеровская область, Новокузнецк, улица Кирова, 102"
"Московская область, Коломна, проспект Кирова, 49"
"Самарская область, Самара, проспект Кирова, 237"
"Кемеровская область, Кемерово, Кировский район, Инициативная улица, 37"
"Самара, проспект Кирова"
и тд
Как нам с такими адресами составить правильно запрос, может кто-то уже решал такой вопрос или подобный, куда капнуть?
Сейчас у нас запрос идет через обычный LIKE. Потому что у нас есть пользователи почти из всех городов и составлять под каждый город отдельные запросы, не вариант.
Адреса к нам так попадают из яндекс.карт.
А сейчас, как нам быть? Простого решения, на коленках нету?
Я понимаю, что придется немного переделать структуру, но хотя бы закрыть баг пока как-то надо.
Кирилл Горелов, я не сторонник костылей. фиксите правильно. но если совсем все тяжко. то можно подобрать такой паттерн поиска, где название города идет после первой запятой и перед второй, если все строки адресов одного формата гарантированно.