2011-08-22 47 views
1

我正在尋找一些與MS SQL Server兼容的重複數據刪除軟件。我有一個相當廣泛和雜亂的表格,其中包含來自世界各地的所有不同語言的地址。該表設置爲處理作爲父/子記錄的模糊,因此需要處理匹配的一些功能(即,不僅僅是刪除模糊)。關於重複數據刪除軟件的建議?

編輯:這裏的結構

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

MasterID是爲每個記錄是唯一的。

ParentID包含MasterID爲每個條目的父記錄,而父記錄爲MasterID = ParentID

CountryCode是兩個字母ISO國家代碼(不是電話代碼)。

+0

我會用SQL來解決這個問題,它非常適用於重複數據刪除。如果您發佈您的表格結構和標準,我們可能可以幫助您進行查詢。 – JNK

+0

您是否正在尋找的不僅僅是匹配相同的地址,即您是否想考慮123 N. Main Street作爲123 North Main St.的重複? – hatchet

+0

請參閱http://stackoverflow.com/questions/291728/open-source-address-scrubber – hatchet

回答

2

地址重複是非常難以追查的。大約有10種有效的方法可以寫出一個地址,這可以解決問題。

事實上,你有一些業務規則允許重複一些時間使我認爲你可能會更好地滾動自己的軟件,找到不可接受的欺騙和刪除它們。

在過去,我通過將地址通過免費的地理編碼服務(例如Google的地圖API)並尋找相互之間的某個閾值(10英尺或某些東西) 。此時,您可以確定它是否符合「不可接受的副本」並將其刪除。

要找到座標之間的距離,我會建議找到Great Circle Distance。祝你好運!

+0

如果你這樣做,如何避免123 N. Main St.#100被認爲是123 N.主要街道#102(在同一建築物內的辦公室,距離字面10英尺) ? – hatchet

+0

我懷疑同一棟大樓內的辦公室號碼會在同一地點進行地理編碼。但是,如果沒有,那麼你需要添加邏輯來尋找這種類型的東西(擴大門檻或尋找相同的街道號碼和名稱)。這並不完美,但我還沒有找到一個更適合地址的解決方案。 –

+0

我認爲這可行,而且我們已經使用Google和Bing的/ MSFT的地理編碼API對我們之前的其他數據進行地理編碼。我擔心的是這個表格是200k +的記錄,我不相信它對於這麼多的請求是免費的。 – copjon