Для поиска дублей используется та же технология, что и для глобального поиска.
В системе происходит индексирование данных: все специальные символы удаляются, оставшиеся буквы и цифры разбиваются по два или три символа и записываются в индекс, по которому в дальнейшем происходит поиск.
На заметку
Сами записи разделов в системе в ходе индексирования не изменяются.
Алгоритм локального поиска дублей в системе при сохранении записи:
1.Пользователь создает и сохраняет новую запись.
2.Система обрабатывает новые данные (убирает специальные символы, разбивает данные по 2–3 символа) и делает запрос в Elasticsearch на поиск записей, содержащих введенные пользователем символы.
3.Система отображает все совпадения, согласно хотя бы одному активному правилу поиска дублей, для которого дополнительно установлен признак [Использовать правило при сохранении].
На заметку
Подробнее о правилах поиска дублей читайте в статье “Правила поиска дублей”.
Совпадения с перестановкой слов также будут найдены.
Массовый поиск дублей после запуска (вручную или автоматически) выполняется аналогично, с учетом активных правил поиска дублей. Обратите внимание, в списке дублей раздела не будут отображаться те записи, которые ранее были добавлены в список исключений с помощью кнопки [Не считать дублями]. Подробно о работе с дублями читайте в статье “Как найти и обработать дубли”.
При поиске дублей по полям, в которых указан телефон, сравниваются все типы телефонов: [Рабочий телефон], [Мобильный телефон], [Домашний телефон] и т. д. Например, мобильный телефон контакта может быть зарегистрирован в системе как рабочий, а при повторном добавлении того же контакта в базу — как домашний.
Смотрите также