Итак, у меня есть столбец в таблице, который содержит строковые значения (ключевые слова, заполняемые из стороннего инструмента). Я работаю над автоматизированным инструментом для определения кластеров схожих значений, которые, вероятно, можно нормализовать для одного значения. Например, «Пожарные» / «Пожарный», «Изотоп» / «Изотоп» или «Собачий» / «Собачий».
Подход, который вычисляет расстояние Левенштейна, кажется идеальным, за исключением того факта, что он требует слишком много манипуляций / сравнения строк и, вероятно, будет плохо использовать индексы SQL.
Я рассмотрел пошаговую группировку по левым (X) символам столбца, что является неплохим способом максимального использования индекса, но этот подход действительно эффективен только при поиске слов с различиями в самом конце. слова.
Кто-нибудь получил хорошие идеи для эффективного решения этой проблемы в SQL?
Примечание: я понимаю, что этот вопрос очень похож на ( Нахождение того, насколько похожи две строки ), но различие здесь заключается в необходимости сделать это эффективно в SQL.