Определить дубликаты английских имен - PullRequest
0 голосов
/ 11 января 2012

Я пытаюсь найти пример, который демонстрирует Lucene или какой-либо другой вид индекса, который может проверить английскую комбинацию имени и фамилии на наличие возможных дубликатов.Проверка на наличие дубликатов должна учитывать общие псевдонимы, например, Боба для Роберта и Билла для Уильяма, а также ошибки в написании.Кто-нибудь знает пример?

Я планирую выполнить поиск дубликатов при регистрации пользователя.Необходимо проверить новую запись пользователя по индексу, который был построен из таблицы базы данных, в которой хранятся имена пользователей.

1 Ответ

2 голосов
/ 13 января 2012

Я бы использовал SynonymFilter для firstName при индексации, чтобы у вас были все возможные комбинации (Боб -> Роберт, Роберт -> Боб и т. Д ...).Индексируйте существующих пользователей.

Затем используйте QueryParser (без SynonymFilter в анализаторе), чтобы задать несколько нечетких запросов.

Вот код, с которым я пришел:1006 *

Что приводит к:

+firstName:Bob +lastName:Williams
Found Robert Williams
+firstName:Bob +lastName:wolliam~0.5
Found Robert Williams

Надеюсь, это поможет!

...