论文部分内容阅读
在大数据时代的背景下,人们对数据挖掘、数据分析和数据检索愈加重视。地名信息数据在移动互联网的助推下,具有特殊战略地位。从国家层面,地名信息是国家地理信息化建设的重要组成部分;从民生层面,随着移动互联网和全球定位系统持续升温,基于位置的服务技术在各行各业广泛应用。如今人们追求更加智能精准的、具有地理范围限制的结果。因此,如何有效结合传统搜索和地名信息检索显得格外重要。地名信息存储的传统方式采用关系型数据库,该方式存在很多弊端,如不支持海量数据存储,表模式缺乏灵活扩展性,提供的检索方式单一,针对关键字只支持模糊查询,匹配效率低下,不支持空间位置检索等,无法满足人们对地名检索的需求。新兴的NoSQL数据库HBase,具有分布式、高性能、存储模式灵活、支持海量存储等优点,可以解决地名数据的存储问题,但是HBase提供的检索服务单一、只有主键索引,本身不提供二级索引,且没有提供对空间数据存储和管理的直接支持。针对上述问题,本文基于HBase和Elasticsearch等核心技术设计实现了基于Web的地名和POI数据检索系统。该系统实现了关键字搜索、兴趣点类型搜索、自我推荐、范围搜索、区域搜索和组合查询等功能,具有快速检索、查询多样化的优点。本论文的主要工作如下:(1)研究地名数据和POI数据的结构特点。针对其非结构化、内含空间位置属性等特点,以NoSQL数据库HBase作为存储层,设计了一种适合地名数据检索和处理的HBase表模式。(2)研究基于HBase的二级索引方案,通过对比其优缺点,提出本文的构想方案,利用全文搜索引擎Elasticsearch为HBase建立二级索引,实现数据与索引分离。借助Elasticsearch提供的强大检索服务,为用户提供高效的检索效率和多样化的查询服务。同时,利用HBase的协处理机制,实现数据与索引的同步。(3)研究基于Lucene的全文搜索引擎Elasticsearch,分析其整体框架、运行机制、原理以及应用。部署ES集群,编译安装辅助插件,对集群进行监控、调度以及调参优化。最后,在单机和集群上部署该服务系统,基于500万条全国地名和126万条西安市POI数据,对系统进行服务器端和客户端的功能测试,并用测试工具模拟生成环境对系统进行性能测试。实验结果显示,该系统提供多样化的查询服务和毫秒级别的检索响应时间。同时,该系统具有良好的扩展性和较高的吞吐率。