Нормализация сопоставления строк при очистке данных MySQLMySql

Форум по Mysql
Anonymous
Нормализация сопоставления строк при очистке данных MySQL

Сообщение Anonymous »

Я очищаю набор данных геолокации, содержащий примерно 5000 различных названий бразильских городов, которые имеют несколько вариантов (опечатки, проблемы с пробелами, специальные символы и т. д.).
Текущий подход: Я вручную выявлял и исправлял варианты одно за другим:

Код: Выделить всё

UPDATE olist_geolocation_staging_2
SET geolocation_city = TRIM(geolocation_city);

UPDATE olist_geolocation_staging_2
SET geolocation_city = 'sao paulo'
WHERE geolocation_city LIKE 'sa%paulo';

UPDATE olist_geolocation_staging_2
SET geolocation_city = 'mogi das cruzes'
WHERE geolocation_city LIKE 'mogi%das%cruzes';
Проблема:
Этот ручной подход плохо масштабируется для 5000 значений. Мне нужен более систематический способ:
  • Автоматически идентифицировать варианты названий городов
  • Группировать похожие названия вместе
  • Эффективно их стандартизировать
Вопрос:
Какова эффективная стратегия SQL для обнаружения и стандартизировать эти варианты в MySQL?

Подробнее здесь: https://stackoverflow.com/questions/798 ... malization

Вернуться в «MySql»