Stadnitski Alex
Новичок
Похожие строки
Здраствуйте.
Сразу скажу что поиск не дал желаемых результатов.
Задача.
Есть таблица пользователей, в которой более 200 тыс записей.
При регистрации нового пользователя нужно определить существуют ли похожие фамилии в табле.
Например, если фамилия нового пользователя пишется "Козёл", то нужно получить список пользователей, у которых фамилии "Козел", "Гозел", "Косёл" и т.д.
В php есть прекрасная функция levenshtein. Если ли подобные средства в MySQL? Пробовал FULLTEXT , но не помогает, так как он работает со словами, а не с символами =(
-----------------------------------------
Структура таблицы:
Здраствуйте.
Сразу скажу что поиск не дал желаемых результатов.
Задача.
Есть таблица пользователей, в которой более 200 тыс записей.
При регистрации нового пользователя нужно определить существуют ли похожие фамилии в табле.
Например, если фамилия нового пользователя пишется "Козёл", то нужно получить список пользователей, у которых фамилии "Козел", "Гозел", "Косёл" и т.д.
В php есть прекрасная функция levenshtein. Если ли подобные средства в MySQL? Пробовал FULLTEXT , но не помогает, так как он работает со словами, а не с символами =(
-----------------------------------------
Структура таблицы:
Надеюсь на вашу помощь.CREATE TABLE `Applicants` (
`id` bigint(20) unsigned NOT NULL auto_increment,
`family_id` bigint(20) default NULL,
`image_id` bigint(20) NOT NULL default '0',
`lastname` varchar(128) character set latin1 NOT NULL default '',
`firstname` varchar(128) character set latin1 NOT NULL default '',
`middlename` varchar(128) character set latin1 NOT NULL default '',
`bcountry` varchar(128) character set latin1 NOT NULL default '',
`bcity` varchar(128) character set latin1 NOT NULL default '',
`bdate` date NOT NULL default '0000-00-00',
`address` varchar(128) character set latin1 NOT NULL default '',
`city` varchar(128) character set latin1 NOT NULL default '',
`district` varchar(128) character set latin1 NOT NULL default '',
`phone` varchar(128) character set latin1 NOT NULL default '',
`phone2` varchar(128) character set latin1 NOT NULL default '',
`zip` varchar(128) character set latin1 NOT NULL default '',
`mailingcountry` varchar(128) character set latin1 NOT NULL default '',
`married` enum('M','U','W','S') character set latin1 default NULL,
`child_num` int(11) NOT NULL default '0',
`gender` enum('Male','Female') character set latin1 NOT NULL default 'Male',
`beligible` enum('Y','N') character set latin1 NOT NULL default 'Y',
`child` enum('0','1') character set latin1 NOT NULL default '0',
`applicant` enum('0','1') character set latin1 NOT NULL default '0',
`number` int(11) unsigned NOT NULL default '0',
`created` date NOT NULL default '0000-00-00',
`changed` timestamp NOT NULL default CURRENT_TIMESTAMP,
`status` enum('n','s','r','g') collate latin1_bin NOT NULL default 'n',
`translit` text collate latin1_bin,
PRIMARY KEY (`id`),
FULLTEXT KEY `lastname` (`lastname`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_bin