网易首页 > 网易号 > 正文 申请入驻

“天地图·山东”地名地址数据检索与分析技术研究

0
分享至

江西地名研究

关注我们,获取更多地名资讯

摘要:针对传统的关系型数据库和全文搜索引擎Lucene无法满足海量地名地址数据高效精准分布式检索与分析的问题,文章基于开源分布式搜索引擎Elasticsearch,从数据处理与入库、词库构建与维护、服务实现、结果优化处理等方面进行研究,构建了一套面向Web应用的分布式地名地址检索与分析服务,实现了关键字检索、聚类统计、穿越查询、高速通车里程统计、逆地理编码、区划定位等功能,并将其应用于“天地图山东”平台。测试表明,该服务具有高性能、高并发、高可用特点,能够满足实际工作需要。

关键词:Elasticsearch;地名地址;地理实体;检索;地理词库

0 引 言

地名地址作为地理信息公共服务平台(天地图)框架数据的重要组成部分,是国家基础地理信息的重要数据内容和社会经济发展的重要基础性战略资源,已在国家的社会治理、经济发展、环境保护、抗震减灾以及公众生活等领域得到了广泛应用。基于地名地址数据的地图检索与分析服务,如地名地址搜索、地理编码、周边搜索、目标空间范围内搜索、道路穿越分析等服务的需求日益广泛。地名地址数据具有数据量大、类型结构复杂、空间关系性强、系统变化快等特点,组织和存储是影响其检索效率和质量的关键因素之一。传统的地名地址数据检索方式有两种:基于传统的关系型数据库的结构化检索和关键词模糊检索方式以及基于Lucene的全文检索方式。第一种方式检索方式单一,匹配效率低下,无法满足海量空间数据的快速检索需求,并且传统的关系型数据库空间分析能力较弱,无法完成海量空间数据的复杂空间分析操作,影响用户体验;第二种方式需要在Lucene的基础上进行二次开发才能实现检索功能,且不具备分布式检索功能,自动化程度较低,限制了检索数据的快速更新和横向扩展。因此,国内许多学者对地名地址检索与分析方法和技术进行了研究。杨柳提出了一种基于地理编码的空间数据全文检索方法,并利用Oracle Text结合ArcEngine实现了空间数据的检索。董洁钰等人利用SCWS中文分词算法对检索关键字和地名地址数据集进行分词,在PostgreSQL中建立了gin索引提高检索效率,并通过分级和分类信息来缩小检索范围,从而提高了检索的精度。林清莹利用改进的Lucene对地名地址数据建立索引,并对索引构建过程中的参数进行优化以及采用多域检索策略,较好地实现了地名地址的检索。张哲等人基于Elasticsearch,提出了一种面向Web电子地图开发的分布式地名地址搜索服务架构,实现了地名地址的检索。这些研究没有构建适用于地名地址的分词词库和同义词词库,且不支持分布式检索,检索的精度和效率都有待进一步提高,而且,已有研究大多是针对点状数据,对于线状和面状等具有复杂空间关系的地理实体数据进行检索和空间分析的研究较少。针对以上问题,本文基于分布式搜索引擎Elasticsearch,研究了空间数据检索与分析的流程与技术。

1 分布式搜索引擎 Elasticsearch

Elasticsearch (简称ES)是一个开源的、基于Lucene、分布式多用户能力的全文搜索引擎,可以实现海量数据的快速存储与检索,是企业级应用程序应用最广泛的搜索引擎框架之一。ES可以存储结构化和非结构化数据,支持结构化检索、数据统计分析、地理空间位置查询等功能,GitHub、维基百科等均基于ES实现了相关的检索功能。

本文在深入研究ES的数据组织、分词机制、索引机制等关键技术的基础上,对地理空间数据特点进行了深入分析,从数据处理与入库、词库构建、服务实现、结果优化等方面入手,构建了一套面向Web应用的地名地址数据检索与分析服务,并将其应用于山东省地理信息公共服务平台(天地图·山东)中。

2 总体架构

地名地址数据检索与分析服务逻辑上可以分为数据层、处理层和接口层。如图1所示。

数据层(即地名地址数据)包括两类,一类是与群众生活密切相关的兴趣点(point of interest,POI)实体,如政府单位、学校、银行、医院等,包括52个大类,203个小类,约600万条;另一类是具有一定空间范围的地理实体,主要为线状数据和面状数据,包括道路、小区面、水系、保护区等20类,约200万条。所有数据均采用ArcGIS File GeoDataBase格式进行存储和管理。

处理层包括地名地址数据处理与入库以及地名词库构建与维护。地名地址数据处理是对数据进行属性检查和几何检查,包括属性字段及内容完整性检查、拓扑错误检查等,数据检查完成后,利用研发的入库工具将地名地址数据存储到ES集群中。地名词库构建与维护是构建具有山东地名特色的分词词库、同义词词库、停用词词库等,并根据数据的变化情况,对词库内容进行修订维护。

接口层是基于ES API和GeoTools研发了地名地址检索与分析服务,实现包括关键字检索、聚类分析、周边搜索、穿越查询、高速公路通车里程统计、逆地理编码、区划定位等功能接口。

2.1 技术路线

本研究的详细技术路线如图2所示,主要包括数据处理与入库、地名词库构建与维护以及检索分析服务等部分。

数据处理与入库:对通过外业采集、众包更新、市县融合、部门推送等途径汇聚的地名地址数据进行质量检查,保证数据属性的完整性以及几何拓扑的正确性。质量检查通过以后,将地名地址数据存储到ES集群中,在这个过程中会利用IK分词器以及构建的地名词库对中文地名地址进行分词,并构建倒排索引。

地名词库构建与维护:构建具有山东地名特色的中文分词词库、同义词库以及停用词库,同时根据地名地址的变化情况对地名词库进行更新维护,并在保证数据不变的情况下动态更新索引。

检索与分析服务:包括地名地址检索与分析服务的设计实现以及对检索结果的优化处理。地名地址检索与分析服务基于ES JAVA API和GeoTools实现关键字检索、周边搜索、区划定位等功能;结果优化处理是对基于搜索词以及POI优先级对检索结果进二次过滤,保证返回结果的相关性。

2.2 数据处理与入库

为了保证数据的完整性和检索结果的准确性,必须对数据进行完整性检查,包括属性检查和几何检查。属性检查主要确保唯一编码、行政区划编码、行政区划名称、名称、地址、数据重要程度、类别等字段存在且内容规范;几何检查则处理空间自相交、悬挂线等拓扑错误。数据检查完成后,将空间数据存储到ES集群中,本文ES采用分布式集群部署,共采用5台服务器作为节点,其中1台为主节点,4台为数据节点,索引分片(shard)设置为4片,复制分片为1片,主复分片存储在不同的节点上,实现了分布式存储和容灾备份的作用。

本文基于Java语言,借助于ES API和GDAL空间数据处理库研发了数据入库软件,通过该软件可以修改数据字段名称、类型、内容,设置分词字段和权重,指定入库索引,动态创建ES动态索引映射模板(Mapping)。ES支持两种地理位置表示方式:geo_point字段类型和geo_shape字段类型,前者用于存储经纬度格式表示的点数据,即本文的POI数据;后者用于存储GeoJson格式表示的线状和面状数据,即本文的地理实体数据。为了实现入库效率的最优化,研究中基于批量的方式实现了数据入库,测试了点、线、面3种几何类型数据的存储效率。通过实验发现,在现有的集群环境下,ES存储效率与单次bulk批量存储大小有关且单次存储量为20M左右时存储效率最高,如图3所示。

2.3 地名词库构建与维护

为了智能地实现对词语意义进行解析,保证中文地名检索的准确性,必须建立一个完善的分词词库,利用分词算法将中文词语拆解成多个词库中存在的具有实际意义的词组,存入倒排索引中,再通过ES中的检索匹配算法,获取检索结果。

本文利用IK分词插件对地名地址数据进行分词,但是其自带的中文词库缺失地名信息,不具有山东地名特色。因此,研究中利用语义结构特征构建了具有山东地名特色的分词词库,首先基于语义结构特征对山东省村名进行解析,统计并分析出山东村名的结构组成和语义特点,确定了村名主要由核心成分、修饰成分和村名特征词组成;然后,根据这些特点构建了只保留核心成分的分词词库,例如“大崔家村”和“小崔家村”只保留“崔家”进入分词词库。同时,为了实现常见口语习惯的地名同义词检索,还构建了同义词库,例如“科学技术局”和“科技局”,“纪律检查委员会”和“纪委”。

2.4 地名地址检索与分析服务实现

本文基于ES Java API和GeoTools开源空间数据处理工具库实现了地名地址数据的检索和分析。对于关键词搜索、聚类统计等非空间检索服务,利用ES提供的Aggregation、MatchQuery、MultiMatchQuery、TermQuery、TermsQuery等API实现。对于周边搜索、穿越查询等空间检索服务,则利用ES的空间数据处理和GeoTools的相关API实现,ES针对geo_point类型数据的查询提供了GeoBoundingBoxQuery、GeoDistanceQuery和GeoPolygonQuery三类API,分别对应了矩形框查询、到点的距离查询和指定多边形范围的查询;针对geo_shape类型数据的查询提供了GeoShapeQueryAPI,可以通过指定任意查询范围和intersects/contains/within/disjoin t4种空间关系进行查询。

以关键词检索为例,首先要对请求参数进行解析,获取关键词、地图级别、当前范围、行政区划等参数值,对关键词进行语义分析,缩小其所属类别,然后结合当前范围、分类信息等参数构建检索条件,实现关键词检索,最后对返回结果根据关键词及数据优先级进行二次过滤,并将最终结果进行数据抽稀和压缩,减少网络传输量。

检索与分析服务允许设置关键字、行政区划代码、POI分类代码、空间范围、缓冲距离等参数,以JSON数组的格式返回检索结果详情,包括名称、地址、类型、经纬度等属性信息以及空间字段信息。

2.5 应用效果

本研究构建的检索与分析服务包括关键字检索、聚类统计、周边搜索、道路穿越查询、高速通车里程统计、逆地理编码、行政区划定位等功能接口。关键字检索返回和关键字最相关的信息;聚类统计根据统计类别和当前地图等级返回各行政区划内统计数量;周边搜索根据当前位置、缓冲距离和搜索类别返回缓冲范围内的数据信息;穿越查询返回指定高速公路穿过的区县市信息;高速通车里程统计返回指定行政区划内各条高速公路的通车里程;行政区划定位根据地图级别和地图中心点返回当前地图中心位置的所在的市、县(区)、乡(镇、街道)等信息。

3 服务性能测试

为了检验地名地址数据检索与分析服务的效率,本文利用LoadRunner软件对服务进行了压力测试。测试环境共包括5个ES虚拟机服务节点,其中1台为主节点,其余4台为数据节点,操作系统为Centos7.5,CPU为4核,内存为8G,JDK版本为8.0_40,ES版本为6.5.1。

测试中采用50、100、300、500并发数,测试过程中每隔10s增加5个访问量,递增并发,并发量达到目标值后,持续测试运行1h,各个功能接口平均响应时间见表1。

由表可知,当并发用户数为50时,所有的功能接口的平均响应时间在1s以内;当并发用户数大于300时,关键字检索、聚类统计、精准检索、周边搜索、逆地理编码、区划定位功能接口依然保持着较强的性能,但是穿越查询、高速通车里程统计接口由于包括大量的空间查询与运算,导致性能降低,达到了1s以上,2s以内,但是仍然在可以接受的范围内。

4 结束语

本文针对地名地址数据数据量大、空间关系复杂、类型结构性强等特点,设计了一套基于ES的分布式地名地址检索与分析服务,从数据处理与入库、地名词库构建与维护、接口设计与实现、结果优化处理等方面解决了地名地址高效精准检索与分析的问题。测试表明,该服务具有高性能、高并发、高可用等特点,能够满足“天地图·山东”地名地址检索与分析的需求。

后期,为了进一步提高地名地址检索与分析的精度与效率,可以从中文分词算法优化改进、建立语义相关分析模型以及记录用户搜索行为等方面进行更加深入的研究。

作者:刘元亮 李飞

来源:《测绘与空间地理信息》2025年第01期

选稿:贺雨婷

编辑:王玉凤

校对:宋柄燃

审订:汪依婷

责编:杜佳玲

(由于版面有限,文章注释内容请参照原文)

微信扫码加入

中国地名研究交流群

QQ扫码加入

江西地名研究交流群

欢迎来稿!欢迎交流!

转载请注明来源:“江西地名研究”微信公众号

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
“爸妈,我开辅助驾驶,你们放心”:一家三口全死了,智驾1分钟

“爸妈,我开辅助驾驶,你们放心”:一家三口全死了,智驾1分钟

江山挥笔
2026-06-02 18:47:02
突发!黄仁勋拿下宇树科技

突发!黄仁勋拿下宇树科技

李东阳朋友圈
2026-06-02 13:43:42
形势到底有多严峻?国人心心念念的特斯拉竟会裁员,评论区炸锅…

形势到底有多严峻?国人心心念念的特斯拉竟会裁员,评论区炸锅…

慧翔百科
2026-06-02 08:27:57
收拾完菲日,中方代表离开香会,不到24小时,南部战区亮剑黄岩岛

收拾完菲日,中方代表离开香会,不到24小时,南部战区亮剑黄岩岛

流史岁月
2026-06-02 19:40:03
男子自驾青海失联9个月,家属再赴事发地寻找 救援人员计划向牧民发寻人信息寻找目击者

男子自驾青海失联9个月,家属再赴事发地寻找 救援人员计划向牧民发寻人信息寻找目击者

红星新闻
2026-06-02 17:40:41
女员工嘲讽顾客“穷逛”后续:本人火到香港已社死,商场也被坑惨

女员工嘲讽顾客“穷逛”后续:本人火到香港已社死,商场也被坑惨

哄动一时啊
2026-06-01 19:30:38
离谱!早高峰,京藏高速加油站,3分钟36辆车驶入仅1车加油,35车“借道加塞”……

离谱!早高峰,京藏高速加油站,3分钟36辆车驶入仅1车加油,35车“借道加塞”……

91.6陕西交通广播
2026-06-02 10:58:00
国乒完成新老交替!王皓宣布王楚钦任男队队长,马龙结束12年任期

国乒完成新老交替!王皓宣布王楚钦任男队队长,马龙结束12年任期

乒谈
2026-06-02 20:49:37
零跑汽车爆卖80000台,打脸全行业

零跑汽车爆卖80000台,打脸全行业

科技头版Pro
2026-06-02 14:54:41
被特朗普怒斥后内塔尼亚胡强硬表态

被特朗普怒斥后内塔尼亚胡强硬表态

财联社
2026-06-02 17:14:20
开启智驾40秒后撞上半挂!一家三口当场殒命。长安承认没激光雷达

开启智驾40秒后撞上半挂!一家三口当场殒命。长安承认没激光雷达

听心堂
2026-06-02 10:48:19
上海丢G4现最大弊端!体能问题开始影响攻守,G5或成关键战!

上海丢G4现最大弊端!体能问题开始影响攻守,G5或成关键战!

篮球资讯达人
2026-06-02 22:17:45
美伊临时停火以来 最戏剧化的一天

美伊临时停火以来 最戏剧化的一天

看看新闻Knews
2026-06-02 18:32:59
孙正义重登亚洲首富,旗下软银超越丰田成日本市值第一公司

孙正义重登亚洲首富,旗下软银超越丰田成日本市值第一公司

界面新闻
2026-06-02 21:51:57
学历大放水!清华一年毕业3000多博士,比哈佛耶鲁等五所世界名校加起来多出30%

学历大放水!清华一年毕业3000多博士,比哈佛耶鲁等五所世界名校加起来多出30%

爆角追踪
2026-06-02 22:12:58
12国掀桌子,全面限制原矿出口,中企没有退路,只剩一条路可以走

12国掀桌子,全面限制原矿出口,中企没有退路,只剩一条路可以走

影孖看世界
2026-06-01 23:20:57
躺赢!孙铭徽重回替补总决赛第2次0分 受困伤病下半场惨遭弃用

躺赢!孙铭徽重回替补总决赛第2次0分 受困伤病下半场惨遭弃用

醉卧浮生
2026-06-02 21:41:19
“你儿子已经黑棘皮了”,家长晒半夜吃生西葫芦,过来人无奈提醒

“你儿子已经黑棘皮了”,家长晒半夜吃生西葫芦,过来人无奈提醒

熙熙说教
2026-06-02 19:10:18
杭州限狗令正式落地,养狗人月花上千,凭什么让不养狗的人买单?

杭州限狗令正式落地,养狗人月花上千,凭什么让不养狗的人买单?

奇思妙想草叶君
2026-06-01 19:40:34
口交、肛交等进入式性服务是卖淫行为吗?最高院定调了!

口交、肛交等进入式性服务是卖淫行为吗?最高院定调了!

黯泉
2026-06-02 11:54:54
2026-06-02 23:24:49
江西地名研究 incentive-icons
江西地名研究
分享地名研究信息、行业资讯。
3446文章数 312关注度
往期回顾 全部

科技要闻

烧掉千亿后,美团、阿里、京东谁先止血?

头条要闻

小学教师疑因打井纠纷杀害邻居 死者留下两未成年儿子

头条要闻

小学教师疑因打井纠纷杀害邻居 死者留下两未成年儿子

体育要闻

1米74的业余联赛替补,在英超踢中卫

娱乐要闻

奚梦瑶何猷君补办婚礼超幸福

财经要闻

智元和宇树的“暗战”愈演愈烈

汽车要闻

星途神秘新车轮廓曝光 又一款性能SUV要来了?

态度原创

艺术
家居
教育
健康
公开课

艺术要闻

周杰伦花 1.36 亿拍下这幅画

家居要闻

流线型轮廓 包容多元身形

教育要闻

逐梦盛夏 全城护航 | 冲刺高考政治:把握命题新导向 精准发力稳拿分

违规干细胞应用,暗藏致命隐患!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版