Обновить
25
0.2
Григорьев Андрей@Pochemuk

Пользователь

Отправить сообщение
Напишите, пожалуйста, что именно Вас интересует. Постараюсь дополнить или описать отдельным постом.

В принципе, основа описана в тексте, а фрагменты кода достаточно подробно комментированы. Отсутствуют некоторые фрагменты кода, т.к. они были заточены под конкретную реализацию исходного сайта и БД.

Т.е. повторюсь, основные идеи следующие:

1. Используется N-граммный анализ.
2. Для упрощения анализа имена нормализуются (см. в тексте).
3. Для начальной выборки используется 5-граммный индекс, вернее, его целочисленный хеш.
4. Внутри полученной выборки производится 3-граммный анализ по уникальным 3-граммам.
5. Перед началом вычисления релевантности определяется максимально допустимое число «промахов». При его превышении выисление релевантности прекращается без уточнения.
6. Дополнительно в начальной выборке можно указывать диапазон числа уникальных триграмм, т.к. существует их максимальное соотношение в сравниваемых именах, при превышении которого релевантность будет заведомо ниже заданной границы.

Остальное можно посмотреть в коде и комментариях к нему.

Если что будет непонятно — спрашивайте. Буду рад ответить.
12 ...
71

Информация

В рейтинге
3 000-й
Откуда
Коломна, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность