Сравните строку со значениями из MySQL - PullRequest
2 голосов
/ 12 декабря 2011

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

Я нашел функцию php 'Similar_text', и я уверен, что это не проблема.создать скрипт для этого сравнения во время цикла.

Какой самый лучший и быстрый способ сделать такое сравнение?

1 Ответ

1 голос
/ 12 декабря 2011

это зависит от размера ваших данных.если это тривиально [несколько десятков тысяч] - запустите ночное пакетное задание, которое будет:

  • извлекать уникальные имена исполнителей из исходных данных
  • вычислять soundex
  • createсловарь с ключом soundex, value - список исходных строк для столбца Artist

. На этом этапе вам нужно будет решить, хотите ли вы автоматически объединять или утверждать вручную для каждого переименования.в конечном счете вы можете иметь таблицу помощников с правильным написанием и найденными до сих пор ошибочными написаниями.эти случаи могут быть обработаны автоматически при следующем обнаружении.

если soundex недостаточно хорош, вы можете попытаться поэкспериментировать с функциями php Similar_text, levenshtein и сравнить имена, найденные во вновь добавленных данных, с «утвержденными» именамиартисты, которых вы уже рассматривали ранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...