Вход
Регистрация

Слияние с индексом нечеткого поиска

Назначение

Поиск по данным, содержащим текст, является задачей нетривиальной: в тексте встречаются орфографические ошибки, один и тот же объект можно корректно описать разными строками. Поэтому для данной задачи сравнение строк на равенство друг другу неприемлемо.

Данный обработчик выполняет нечеткий поиск строк по заранее полученному индексу.

Примеры применения

Разбор адресов. Формат хранения адресов (например, в персональных данных клиентов) может оказаться довольно произвольным. Очистить эти данные от ошибок, выявить устаревшие и недостоверные сведения, необходимо произвести разбор строк с адресом. Для этого могут быть использованы эталонные справочники, поиск по которым должен быть нечетким.

Нахождение ошибок и опечаток. Некоторые значения полей (например, названия товаров) по различным причинам могут содержать опечатки. Чтобы автоматически найти их и подобрать замену можно воспользоваться нечетким поиском.

Алгоритм обработки

Данный обработчик может быть использован, только если заранее был получен специализированный индекс. Этот индекс представляет собой префиксное дерево, во время обхода которого рассчитывается расстояние Дамерау — Левенштейна между поисковой строкой и эталонной из индекса. При достижении листа полученная эталонная строка попадает в результаты. Ограничение на максимальное значение расстояния позволяет обходить дерево не полностью, что позволяет ускорить поиск.

Рассылка материалы о Loginom