У меня есть ~ 25.000 различных имен в базе данных SQL, и я хотел бы выполнить сравнение расстояний между ними для нормализации, например. John Doe & Jhon Doe.Сравнение больших массивов
Когда db было всего около 1000 имен, я использовал для хранения всех различных имен в массиве. Затем я использовал бы два цикла for-loops на этом массиве, тем самым сравнивая каждый элемент в массиве с каждым из остальных. Когда расстояние редактирования дало совпадение, скажем,> 0,9, я бы выполнил SQL-запрос, заменяя одно значение для другого во всех записях.
С моей гораздо большей базой данных это невозможно. Что бы вы сделали, ребята?
ps: Мне также интересны любые многопоточные решения для этого, потому что процесс уходит сейчас.
имп: Я кодирование в Java
- это имена в одной таблице? какую функцию вы используете для сравнения имен? –
Возможно ли это на стороне БД? Если это так, я предпочитаю это. В противном случае может быть что-то вроде концепции fork/join может быть полезно. – kosa
Это в основном один большой массив имен, который сравнивается с самим собой. Я не думаю, что это возможно на стороне БД, потому что я вычисляю метрику по каждой комбинации двух имен, чтобы убедиться, что они похожи (для исправления орфографических ошибок и т. Д.). – Freek8