Честно говоря, я бы создал таблицу для keywords(id, external_id, keyword)
, а затем я бы соединил таблицу против себя, упорядочил по количеству совпадений и затем вытащил строки обратно.
Если вы сравниваете одну строку, вы можете выбрать только эту, чтобы повысить эффективность при объединении.
Это может быть объединено с SOUNDEX для сопоставления близких вещей