地名作为最常用的社会公共信息,不仅与人们的日常生活息息相关,而且是政府行政行为、经济建设不可缺少的基础信息资源。
在电商场景中经常会遇到多源地址去重的场景,需要分析不同渠道的地址是否指向同一户,由于同一个地址可能会有不同书写方法,导致无法通过简单的去重和等值关联进行,为了将地址进行归一,我们需要将所有的地址转化为标准地址后,再进行下一步去重操作。
addresstool致力于解决地址关联匹配算法中的速度和准确性问题。经实测,addresstool的地址关联速度在5000/秒-20000/秒之间(取决于业务地址质量),关联匹配正确率达到98%。
直接上代码案例
AddressTool ss = new AddressTool(); // 配置数据写入内存
DataTable data = new DataTable(); // 地址库生产工具
HashMap<String,String> address6 = new HashMap<>();
// 以下示例中的key值是addresstool能够识别的key值,
// 如有其他属性字段,也可添加新的key,搜索出的标准地址也会附带这些信息,比如经纬度、地址标签等
address6.put("province","东北省");
address6.put("city","花果山市");
address6.put("county","水帘洞区");
address6.put("town","猴王街道");
address6.put("community","中前社区");
address6.put("aoi","秦淮绿洲");
address6.put("alias_aois","别名1#别名2#别名3"); // aoi别名
address6.put("sub_aoi","北苑");
address6.put("road","宏运大道");
address6.put("road_no","2299");
address6.put("alias_roads","天地大道#金山大道:9#花果山大道:99"); // 道路别名
address6.put("building","9");
address6.put("unit","6");
address6.put("room","1001");
address6.put("id","777");
data.addAddressDic(address6);
// 标准地址库修复,比如用户只有户室级地址,此方法为用户补充楼栋级和aoi级地址,当然,如果用户有自己已经标准化好的地址库,可以省略此方法
data.addressFix();
// 将加工好的地址库写入到addresstool中
data.initData(ss);
// 万事俱备,我们可以进行地址关联啦
System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲"));
System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿舟"));
System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号北苑9栋"));
System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲北苑9栋"));
System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲北苑9栋6单元1001室"));
System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿洲北苑9-6-1001"));
System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道中前社区宏运大道2299号秦淮绿舟北苑9-6-1001"));
System.out.println(ss.getStdAddress("东北省花果山市水帘洞区猴王街道花果山大道99号秦淮绿舟北苑9-6-1001"));
System.out.println(ss.getStdAddress("花果山大道99号秦淮绿洲北苑9-6-1001"));
System.out.println(ss.getStdAddress("花果山大道秦淮绿洲北苑9-6-1001"));
System.out.println(ss.getStdAddress("花果山大道秦淮绿洲9-6-1001"));
关联结果打印
java资源下载
https://download.csdn.net/download/u011024436/89035851
源码学习
https://gitee.com/addresstool/address