полнотекстовый поиск sql server с ошибками в словах


В настоящий момент мы оцениваем множество вариантов для нечетких поисков. Одно из наших требований заключается в том, чтобы слова, набранные с ошибками, соответствовали друг другу. OCR CRA1G (с номером 1) должен соответствовать "CRAIG".

Полнотекстовый поиск в sql server, кажется, приближается, но сигары нет.

Есть ли какие-то варианты, кроме 'FORMSOF(Inflectional, CRA1G)', которые могли бы сделать замены для этих типов несоответствий и все же получить результаты?

Я не могу найти ничего подобного SOUNDEX is определенно недостаточно хорошо.

Я мог бы попробовать Lucene next, который имеет хорошую возможность нечеткого поиска.

С уважением

Крейг.

2 4

2 ответа:

SQL Server 2008 поддерживает тезаурусы, которые должны привести вас туда, куда вам нужно. Вы бы определили свои орфографические ошибки как синонимы. См. http://msdn.microsoft.com/en-us/library/ms142491.aspx .

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

Это может вам не помочь, но у нас была такая проблема с именами. В немецком языке есть много похожих звучащих имен: Bayer, Beyer, Baier-все они звучат одинаково. Для этого мы создали отдельный столбец, используяфонетическое написание . Вы можете создать подобный алфавит для вашей нечеткости, где " I "равно " 1", и получить аналогичные результаты.