chelkaz
@chelkaz

Возможен ли не точный поиск по полю MySql и чем его делать?

Например есть поле которое хранит данные в виде полной строки адреса:
Ящерицын Росад снт Борисово деревня Серпуховский район Московская область

и например еще будет:
Росад деревня Другой район Другая область
Как и чем делать поиск, если например пользователь будет искать по запросу:
росад москва
или
росад мос обл
Ведь тут важно что это московская область, но в запросе может не быть явного указания полного слова
, а только часть или похожее. Как например росад москва хотя в поле базы слово Московская а не москва Но это максимально точно и по сути поиск должен выдать тогда этот ответ.
  • Вопрос задан
  • 378 просмотров
Пригласить эксперта
Ответы на вопрос 3
@vshvydky
Перефразирую мой ответ, чтобы модераторам не чесалось. Хранить так адрес глупо, нужно хранить его адекватно, для примера стоит взглянуть на фиас, сайт вроде fias.nalog.ru
Хранить адекватно, это пойти почитать про 3 нормальную форму.
Ответ написан
@totosarg
Проверял? Проверял. Работает? Работает. Не трогай!
Вообще конечно странно у вас все, но, отвечая на ваш вопрос, есть такой оператор LIKE. Позволяет искать похожие слава, выглядит примерно так:

SELECT name, id FROM table WHERE name LIKE "%мос%"

Знак процента это wildcard. Но в вашем случае лучше так не делать. Почитайте про нормализацию баз данных.
Ответ написан
opium
@opium
Просто люблю качественно работать
сфинкс и солр это все умеют
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы