SQL - поиск в базе данных с оператором LIKE

Учитывая, что ваши данные хранятся где-то в базе данных:

Hello my name is Tom I like dinosaurs to talk about SQL.  
SQL is amazing. I really like SQL.

Мы хотим реализовать поиск по сайту, позволяющий посетителям вводить термины и возвращать соответствующие записи. Пользователь может искать:

Dinosaurs

И SQL:

WHERE articleBody LIKE '%Dinosaurs%'

Прекрасно справляется с возвратом правильного набора записей.

Но как мы справимся, если пользователь неправильно напишет динозавров? IE:

Dinosores

(Бедный больной динозавр). Как мы можем искать с учетом орфографических ошибок? Мы можем связать распространенные орфографические ошибки, которые мы видим в поиске, с правильным написанием, а затем выполнить поиск по исходным условиям + исправленному термину, но на это уходит много времени.

В любом случае программно?

Изменить

Кажется, что SOUNDEX может помочь, но может ли кто-нибудь привести мне пример с использованием soundex, где ввод поискового запроса:

Dinosores wrocks

возвращает записи вместо выполнения :

WHERE articleBody LIKE '%Dinosaurs%' OR articleBody LIKE '%Wrocks%'

который вернет squadoosh?

8
задан Tom Gullen 3 March 2011 в 15:38
поделиться