Задавайте вопросы, мы ответим
Вы не зашли.
Есть таблица А с текстовым полем в котором хранятся слова. Например: фамилии или названия улиц - не суть важно.
Есть вторая такая же таблица (В), данные в которой меняются время от времени. Необходимо сравнивать или находить данные из таблицы В в таблице А.
Пока ничего сложного и все элементарно.
Но вот задача. В таблицу В данные вводятся "секретаршей-блондинкой"
Т.е. присутствуют ошибки (как правило человеческий фактор). Для примера ошибки типа Ивонов, Сивост.янов ну и т.д.
Как сделать поиск таких слов наподобие полнотекстового поиска с чем-то вроде ревалентности, только не по словам, а по символам. (Насколько я разобрался, полнотекстовый поиск работает только со словами ).
Другими словами необходимо ответить на вопрос насколько это слово похоже на найденное и в чем разница.
База (А) большая: 2,5 млн сейчас, 55-60 млн в перспективе.
Подскажите пожалуйста в какую сторону рыть
За ранее благодарю
Отредактированно skeef (15.06.2009 18:38:57)
Неактивен
Задача не новая, но, к сожалению, готовое решение, заточено только на американских блондинок
Суть простая — нужно уметь из слова вычленять «основную звучащую суть» и сравнивать эти две
сути. Для английского языка есть функция soundex, которая вычленяет эту суть.
Для русского языка — надо писать самостоятельно
P.S. Если найдете/напишете для русского языка — дайте ссылку, будем рекламировать... блондинок
в русскоязычном мире не меньше
P.P.S. Кстати, это не так тяжело, как кажется, видимо: http://habrahabr.ru/blogs/php/28752/
Неактивен
Я так почему-то и думал.
За ссылочку отдельный сенькс
Неактивен
После долгого и упорного гугления было найдено ИМХО наиболее рабочее решение для русского языка на сегодняшний день: http://www.kankowski.narod.ru/dev/metaphoneru.htm
может кому сгодится
Всем спасибо
Неактивен
Дело за малым — сделать подключаемую функцию к MySQL и заставить их принять патч в основную ветку
Неактивен