Рассматривали ли вы модуль fuzzystrmatch?Вы можете использовать soundex
, difference
, levenshtein
, metaphone
и dmetaphone
или их комбинацию.
fuzzystrmatch документация
SELECT something
FROM somewhere
WHERE levenshtein(item1, item2) < Carefully_Selected_Threshold
Например, расстояние Левенштейна от MICROSOFT до MICROSFT равно единице (1).
levenshtein(dmetaphone('MICROSOFT'), dmetaphone('MICROSFT')
Выше возвращается ноль (0).Сочетание Левенштейна и Dmetaphone может помочь вам найти много орфографических ошибок.