Оператор SELECT для поиска подходящих фраз - PullRequest
0 голосов
/ 11 июня 2018

У меня есть список названий компаний, которые мне нужно найти в таблице Companies в нашей базе данных.

Список названий компаний, которые я имею, НЕ является точным.Они могут быть с ошибками.Некоторые содержат специальные символы и т. Д.

Я пытаюсь создать оператор "нечеткого поиска" SELECT, который найдет наиболее вероятные совпадения в таблице Companies.Я делаю некоторую «дезинфекцию» перед отправкой имен, которым необходимо сопоставить пробелы в начале или конце слов, удаляя такие слова, как «The» и т. Д.

Я попробовал функцию FREETEXT вSQL Server, но результаты были ужасны.Он в значительной степени возвратил все строки в таблице Companies.

Например, я выполнил поиск 1-800-Flowers, но получил все виды несвязанных совпадений.Какой подход я могу использовать, чтобы найти наиболее подходящие совпадения?

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете реализовать что-то, используя расстояние Левенштейна .

Я нашел реализацию функции в SQL Server здесь .

Надеюсь, это поможет.

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