Задача такая:
Есть несколько баз данных с определённой номенклатурой (± 10 тыс позиций). В каждой из этих БД на 90% есть фактически одинаковые позиции, но с разными названиями (каждый бухгалтер ставил на приход по разному).
Например:
БД 1: Автоматический выключатель Shneider Electric 1P 16A, Dekraft
БД 2: Автомат SE, однополюсный, 16А, арт. 11056DEK
БД 3: Автомат ВА 101 1P 16А DIN-рейка 4,5kA АС DEKraft.
Необходимо:
1. Создать новую пустую БД.
2. Сверять каждую позицию из каждой БД с позициями в новой БД.
3. Если в новой БД нет позиции, которая с вероятностью, приближенной к 100% соответствует проверяемой, необходимо сформировать уникальную позицию в новой базе данных на основании данных в открытых источниках (как правило сайт производителя). Наименование такой новой позиции должно на 100% соответствовать оригинальному названию от производителя. После зоздания такой позиции присваивать ей определённый уникальный маркер.
4. Если в новой БД есть позиция, которая с вероятностью, приближенной к 100% соответствует проверяемой, необходимо присвоить проверяемой позиции соответствующий маркер.
5. Если вероятность менее приближенной к 100%, то берётся позиция из новой БД, наиболее приближенная к проверяемой. Маркер такой позиции должен быть с индексом, отображающим процент вероятности.