首页 > 编程语言 >中文地址实现去重计算-Java

中文地址实现去重计算-Java

时间:2024-04-08 13:58:43浏览次数:315  
标签:中文 Java ss address6 println 地址 put 花果山

地名作为最常用的社会公共信息,不仅与人们的日常生活息息相关,而且是政府行政行为、经济建设不可缺少的基础信息资源。
在电商场景中经常会遇到多源地址去重的场景,需要分析不同渠道的地址是否指向同一户,由于同一个地址可能会有不同书写方法,导致无法通过简单的去重和等值关联进行,为了将地址进行归一,我们需要将所有的地址转化为标准地址后,再进行下一步去重操作。

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

标签:中文,Java,ss,address6,println,地址,put,花果山
From: https://www.cnblogs.com/addresstool/p/18120966

相关文章

  • 地址治理-标准地址库动态更新ETL方案设计
    一个高质量的地址治理项目,背后必然有一份高质量的标准地址库。但是标准地址库的建设工作大量依赖人工作业,由此遗留下3大问题。首先,人工作业很多都是通过一个小区或者一个街道的扫雷式建设地址库,作业量非常大,成本非常高。关键是会产生大量项目中实际不会用到的地址。其次,人工作业......
  • JavaScript之applye、bind和call方法详解
    QuestionQ1apply()、bind()和call()方法的区别在哪?Q2apply()和call()的应用场景Q3apply()、bind()和call()方法手写实现逻辑来源继承自Function.prototype,属于实例方法console.log(Function.prototype.hasOwnProperty('call')) //trueconsole.log(Functio......
  • 全栈的自我修养 ———— react未知地址默认导航至404页面
    方法1在根目录上添加一个errorElement{path:'/',element:<Navigateto="/public/index"replace/>,errorElement:<div>errorPage</div>},方法2{path:'*',element:<div>errorPage</di......
  • 基于Java+SpringBoot+Vue的SRM供应商系统(源码分享)
           前言:供应商招投标管理系统是一个综合性的管理平台,旨在规范供应商的招投标流程,确保采购过程的透明度和公正性,同时提高采购效率。以下是对您提到的各个环节的详细解释:一、供应商准入供应商准入是招投标管理系统的首要环节,它负责审核和管理潜在供应商的资质。具......
  • Java中的多态
    1.1多态的概念多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。同一件事情,发生在不同对象身上,就会产生不同的结果。1.2多态实现条件在java中要实现多态,必须要满足如下几个条件,缺一不可:1.必须在继承体系下2.子类必......
  • 前端学习<四>JavaScript基础——11-流程控制语句:选择结构(if和switch)
    代码块用{}包围起来的代码,就是代码块。在ES5语法中,代码块,只具有分组的作用,没有其他的用途。代码块中的内容,在外部是完全可见的。举例: {   vara=2;   alert('qianguyihao');   console.log('千古壹号'); } ​ console.log('a='+a);打印结......
  • 前端学习<四>JavaScript基础——10-运算符
    我们在前面讲过变量,本文讲一下运算符和表达式。运算符的定义和分类运算符的定义运算符:也叫操作符,是一种符号。通过运算符可以对一个或多个值进行运算,并获取运算结果。表达式:数字、运算符、变量的组合(组成的式子)。表达式最终都会有一个运算结果,我们将这个结果称为表达式的......
  • 如何避免WordPress中文乱码现象
    在使用WordPress网站的过程中,很多用户都会遇到中文乱码的问题。中文乱码会给用户阅读和浏览网站带来困扰,也可能影响网站的用户体验和搜索引擎优化。在本篇文章中,我们将介绍一些解决WordPress中文乱码问题的方法,并提供具体的代码示例。1、设置数据库字符集:首先,要确保数据库字符集......
  • JAVA语言学习-Day5
    集合Java中的集合是工具类,可以存储任意数量的具有共同属性的对象应用场景无法预测存储数据的数据同时存储具有一对一关系的数据需要进行数据的增删数据重复问题体系结构Collection:List、Queue、SetMap:HashMapList有序且可重复,ArrayList、LinkedList......
  • Java类全路径冲突解决方法
    1.问题今天在开发中遇到这样一个问题,A同事在导入了我们的实验SDK后,发现实验无法正常获取,查看日志发现了NoClassDefFoundError异常,无法加载的的类中逻辑比较简单,只依赖了另外一个SDK包2.NoClassDefFoundError分析和解决一般情况下,碰到NoClassDefFoundError错误,首先我们会想到......