2011-08-22 1 views
1

Je suis à la recherche d'un logiciel de déduplication compatible avec MS SQL Server. J'ai une table plutôt vaste et malpropre qui contient des adresses de partout dans le monde dans toutes les langues différentes. La table est configurée pour gérer les dupes en tant qu'enregistrements parent/enfant, de sorte que certaines fonctionnalités pour gérer une correspondance sont nécessaires (c'est-à-dire ne pas simplement supprimer une dupe).Suggestions sur le logiciel de déduplication de données?

Edit: Voici la structure

ParentID | MasterID | PropertyName | Address1 | Address2 | PostalCode | City | StateProvinceCode | CountryCode | PhoneNumber 

Le MasterID est unique pour chaque enregistrement.

ParentID contient le MasterID pour l'enregistrement principal de chaque entrée, et l'enregistrement parent est MasterID = ParentID.

CountryCode est le code de pays ISO à deux lettres (pas le code de téléphone).

+0

J'utiliserais SQL pour ça, c'est génial pour le du-duping. Si vous publiez votre structure de table et vos critères, nous pouvons probablement vous aider avec une requête. – JNK

+0

Cherchez-vous plus que des adresses identiques identiques, c'est-à-dire que vous voulez considérer 123 N. Main Street comme une reproduction de 123 North Main St.? – hatchet

+0

voir http://stackoverflow.com/questions/291728/open-source-address-scrubber – hatchet

Répondre

2

Les doublons d'adresses sont notoirement difficiles à localiser. Il y a environ 10 façons valides d'écrire une adresse, ce qui peut causer des problèmes. Le fait que vous ayez des règles métier qui permettent des doublons de temps en temps me fait penser que vous feriez mieux de rouler votre propre logiciel pour trouver des doublons inacceptables et les supprimer. Dans le passé, je l'ai fait avec des adresses en mettant l'adresse à travers un service de géocodage gratuit (API de cartographie de Google par exemple) et en cherchant des points qui sont dans un certain seuil de l'autre (10 pieds ou quelque chose) . À ce stade, vous pouvez déterminer s'il est qualifié de «doublon inacceptable» et le supprimer.

Pour trouver les distances entre les coordonnées, je recommande de trouver le Great Circle Distance. Bonne chance!

+0

si vous le faites de cette façon, comment éviter 123 N. Main St. # 100 d'être considéré comme une dupe de 123 N. Main St. # 102 (le bureau à travers le hall dans le même bâtiment qui est littéralement à 10 mètres) ? – hatchet

+0

Je suppose que les numéros de bureau dans le même bâtiment seraient géocodés au même endroit. Mais si ce n'est pas le cas, vous devrez ajouter une logique pour rechercher ce type de chose (augmenter le seuil ou rechercher le même numéro de rue et le même nom par exemple). Ce n'est pas parfait, mais je n'ai pas encore trouvé de solution qui fonctionne mieux pour les adresses. –

+0

Je pense que cela pourrait fonctionner, et nous avons utilisé à la fois les API de géocodage de Google et de Bing/MSFT pour géocoder d'autres données avant. Ce qui m'inquiète, c'est que cette table contient plus de 200 000 enregistrements et je ne crois pas que c'est gratuit pour autant de demandes. – copjon

Questions connexes