SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.06.2009 18:35:28

skeef
Участник
Зарегистрирован: 29.01.2009
Сообщений: 17

Полносимвольный поиск ;) или Поиск внутри слова

Есть таблица А с текстовым полем в котором хранятся слова. Например: фамилии или названия улиц - не суть важно.
Есть вторая такая же таблица (В), данные в которой меняются время от времени. Необходимо сравнивать или находить данные из таблицы В в таблице А.

Пока ничего сложного и все элементарно.

Но вот задача. В таблицу В данные вводятся "секретаршей-блондинкой" wink
Т.е. присутствуют ошибки (как правило человеческий фактор). Для примера ошибки типа Ивонов, Сивост.янов ну и т.д.
Как сделать поиск таких слов наподобие полнотекстового поиска с чем-то вроде ревалентности, только не по словам, а по символам. (Насколько я разобрался, полнотекстовый поиск работает только со словами ).
Другими словами необходимо ответить на вопрос насколько это слово похоже на найденное и в чем разница.
База (А) большая: 2,5 млн сейчас, 55-60 млн в перспективе.

Подскажите пожалуйста в какую сторону рыть smile
За ранее благодарю

Отредактированно skeef (15.06.2009 18:38:57)

Неактивен

 

#2 15.06.2009 21:32:34

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Полносимвольный поиск ;) или Поиск внутри слова

Задача не новая, но, к сожалению, готовое решение, заточено только на американских блондинок smile
Суть простая — нужно уметь из слова вычленять «основную звучащую суть» и сравнивать эти две
сути. Для английского языка есть функция soundex, которая вычленяет эту суть.
Для русского языка — надо писать самостоятельно sad

P.S. Если найдете/напишете для русского языка — дайте ссылку, будем рекламировать... блондинок
в русскоязычном мире не меньше smile

P.P.S. Кстати, это не так тяжело, как кажется, видимо: http://habrahabr.ru/blogs/php/28752/

Неактивен

 

#3 16.06.2009 09:24:01

skeef
Участник
Зарегистрирован: 29.01.2009
Сообщений: 17

Re: Полносимвольный поиск ;) или Поиск внутри слова

Я так почему-то и думал.
За ссылочку отдельный сенькс smile

Неактивен

 

#4 16.06.2009 14:51:21

skeef
Участник
Зарегистрирован: 29.01.2009
Сообщений: 17

Re: Полносимвольный поиск ;) или Поиск внутри слова

После долгого и упорного гугления было найдено ИМХО наиболее рабочее решение для русского языка на сегодняшний день: http://www.kankowski.narod.ru/dev/metaphoneru.htm
может кому сгодится

Всем спасибо smile

Неактивен

 

#5 16.06.2009 16:12:54

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Полносимвольный поиск ;) или Поиск внутри слова

Дело за малым — сделать подключаемую функцию к MySQL и заставить их принять патч в основную ветку wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson