September 29, 2005 at 11:47 pm
Hi ALL,
I have to do the address comparisons in my project .
Can anyone PLEASE suggest me a good way of comparing addresses.
In the input I have an adddress, i have to compare it against 44 lacs addresses AND GET THE MATCH records. So both the performance as well as the quality of the match have to be taken into consideration.
ANYONE WHO HAS DONE A SIMILAR THING PLEASE SHARE THIS LOGIC WITH ME.
Thanks & Regards,
Rajesh
October 3, 2005 at 8:00 am
This was removed by the editor as SPAM
October 3, 2005 at 11:46 am
I had something, but can no longer find it, (what I retained was a rather "bull dozer" approach to the problem).
Do a search on Soundex and Difference. You should be able to find an answer that way...
Good luck - this can be tougher than it looks...
I wasn't born stupid - I had to study.
October 3, 2005 at 2:58 pm
My suggession - normalise all addresses.
Create set of tables: Country, State, City, Suburb, Street, StreetType ('Road', 'Street', 'Lane' etc.), Address (having separate fields for house number, unit, block, StreetId), than try to make a function to split addresses in your records to parts and disribute those parts over these new tables.
Data in your tables could help the function to guess what is what. For example, you could have full list of suburbs for the city, so function will recognise it in any string.
After this job is done you'll have unique ID for every unique address in your database. Matching will be quick and reliable - you need just match AddressId, no strings at all.
If you design your function well you can make it part of a trigger on your "Details" table. It will be invoked only when address is updated - not really often event, so it will not affect performance.
It could be nice if you'll return result of your function next to InputBox, so operator can see if machine is getting address being inserted wrong and have a chance to correct it before saving in DB.
_____________
Code for TallyGenerator
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply