Есть еще и случай, когда "мусор" в голове, а правильное слово в инете. К тому же, опять-таки, вспомним про хеширование/хэширование. Еще пример на эту тему: названия городов (редкие). А это уже не совсем мусор.
Так что мы ищем не совсем с учетом опечаток. К тому же поисковая машина ДОЛЖНА искать с учетом опечаток, как миниуму, она должна предлагать варианты правильного написания, если запрос вернул мало документов.
Еще раз не поленюсь сказать про "большой" спелл-чекер, редкие термины (я, например, искал название лекарства и нашел его именно так).
Про частотность различных опечаток - это нужно, конечно, исследовать, есть достаточно стандартные наборы: опечатки при наборе, распространенные ошибки.
Хочу заметить, что комбинаторный взрыв нам не страшен, потому что эти правила мы будем использовать на этапе ранжирования, когда получен список близких ключевых слов с помощью "грубого" алгоритма.
К тому же мы не генерируем "в лоб" все варианты: некое увеличение времени ранжирования произойдёт, но взрыва явно не будет.
А люди были, есть и будут... работать на благо Штатов, ЕС, Канады и Австралии.
n
К тому же, фуджитсу и фуджицу - не совсем непохожие слова, как несложно видеть
Просто сначала я сделал вариант "грубого" поиска, а теперь еще собираюсь сделать более тонкое ранжирование, которой таки варианты, как фуджицу и фуджитсу будет учитывать.
n-граммы здесь не причем поиск идет по количеству очепяток в чистом виде.
Ничего удивительного: типичный пример неинформативного запроса. Президентов-то жутко много.
Извините, может быть шутка была не очень уместна, но просто никакой Яндекс, Рамблер, итд... свою базу нам "дарить" не будет :-((.
Поэтому приходится, худо-бедно, самим по рунету ползать.
Скажем так - это вырожденный случай. Здесь важно не то, что она ИЩЕТ с учетом только одной формы, а что она МОЖЕТ искать с учетом грамматических форм и неточного соответствия запроса документу (в том смысле, что некоторых слов может не быть)