CN106997354B - 一种poi数据检索方法及装置 - Google Patents
一种poi数据检索方法及装置 Download PDFInfo
- Publication number
- CN106997354B CN106997354B CN201610046173.6A CN201610046173A CN106997354B CN 106997354 B CN106997354 B CN 106997354B CN 201610046173 A CN201610046173 A CN 201610046173A CN 106997354 B CN106997354 B CN 106997354B
- Authority
- CN
- China
- Prior art keywords
- poi
- data
- query
- module
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种POI数据检索方法及装置,涉及数据库领域,方法包括:接收用户输入的POI的位置信息;根据用户输入的POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询;根据Mangodb的查询结果,在Lucene中建立索引,并进行全文检索,得到目标POI。由上述可以看出,本发明实施例提供的方法,充分运用了Mangodb数据库对空间数据查询的支持,以及Lucene对全文检索的支持,将两者的优势结合起来,提高了POI数据查询的效率。
Description
技术领域
本发明涉及数据库领域,尤其涉及一种POI数据检索方法及装置。
背景技术
目前,越来越多的用户在电子地图中查询POI(Point of Interest,兴趣点),数据库中存储的POI数据为POI查询提供数据支撑。
现有技术中,将母库POI数据存储到支持海量存储的Oracle数据库中,通过建立索引,执行对POI数据的查询、删除、备份等操作。也有将母库POI数据存储到Mangodb数据库中,并仅在Mangodb数据库中执行对POI数据的查询操作。
但是,上述两种数据库查询POI数据的效率较低。
发明内容
本发明实施例提供了一种POI数据检索方法及装置,在保证检索POI数据准确性的同时,提高了查询POI数据的效率。
一方面,本发明实施例提供了一种POI数据检索方法,包括:
接收用户输入的POI的位置信息;
根据所述POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询操作;
根据Mangodb的查询结果,在Lucene中建立索引,并进行全文检索,得到目标POI。
在所述接收用户输入的POI的位置信息之前,还包括:
将POI母库数据导入到Mangodb数据库中。
所述根据所述POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询操作包括:
在Mangodb数据库中建立以所述POI的位置信息为圆心,以所述预设的查询距离为半径的数据缓冲区;
在所述数据缓冲区中查询POI数据。
在所述根据所述POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询操作之后还包括:
计算所查询到的位置信息与所述POI的位置信息之间的距离;
按照所述距离从小到大的顺序输出查询结果。
所述POI母库中的位置数据由GDAL开源库将所述位置数据转换成Bson格式插入到Mangodb数据库中。另一方面,本发明实施例还提供了一种POI数据检索装置,用于执行上述POI数据检索方法,所述装置包括:
接收模块,用于接收用户输入的POI的位置信息;
查询模块,用于根据所述POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询;
目标POI获取模块,用于根据Mangodb的查询结果,在Lucene中建立索引,并进行全文检索,得到目标POI。
所述装置还包括导入模块,
所述导入模块用于将POI母库数据导入到Mangodb数据库中。
所述查询模块包括:
数据缓冲区建立模块,用于在Mangodb数据库中建立以所述POI的位置信息为圆心,以所述预设的查询距离为半径的数据缓冲区;
执行模块,用于在所述数据缓冲区建立模块建立的数据缓冲区中,执行查询POI数据的步骤。
所述装置还包括:
计算模块,用于计算所查询到的位置信息与所述POI的位置信息的距离;
输出模块,用于按照所述距离从小到大的顺序输出查询结果。
所述装置还包括:
转换模块,用于将所述POI母库中的位置数据由GDAL开源库将所述位置数据转换成Bson格式插入到Mangodb数据库中。
本发明实施例提供的一种POI数据检索方法及装置,充分运用了Mangodb数据库对空间数据查询的支持,以及Lucene对全文检索的支持,将两者的优势结合起来,提高了POI数据查询的效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的一种POI数据检索方法的流程示意图;
图2为本发明实施例提供的一种POI数据检索方法的创建索引流程图;
图3为本发明实施例提供的一种POI数据检索方法的全文检索的处理流程图;
图4为本发明实施例提供的一种POI数据检索装置的结构示意图。
具体实施方式
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。本发明的保护范围当视所附权利要求所界定者为准。
每个POI包含四个方面的信息:名称,类别,经度,纬度,其中类别又分为大类,小类,比如POI数据包含100:餐饮服务,200:公共设施,300:公司企业,400:购物服务,500:交通设施服务,600:金融保险服务,700:科教文化服务等等大类,而在600:金融保险服务下又包含601:保险公司,602:金融保险服务机构,603:银行,604:银行相关,605:证券公司,606:自动提款机等小类。
如图1所示,本发明实施例提供的一种POI数据检索方法包括:
S100:接收用户输入的位置信息。
这里所说的位置信息一般指的是POI的经度和纬度信息,也就是POI的地理坐标。
S200:根据POI的位置信息,以及预设的查询距离,在Mangodb数据库中,执行查询操作。
在该步骤中,具体的查询操作步骤包括:
S210:在Mangodb数据库中建立以POI的位置信息为圆心,以预设的查询距离为半径的数据缓冲区;
S220:在建立的数据缓冲区中查询POI数据。
比如,输入的POI位置信息,也就是地理坐标为:113.332205°E,23.156263°N。预设的查询距离为1000米,则建立以113.332205°W,23.156263°N为圆心,以1000米为半径的一个数据缓冲区,在建立的数据缓冲区中查询POI数据具体为:遍历所建立的数据缓冲区的数据。
具体查询方法如下:
db.lbs.find({loc:{$near:{$geometry:{type:″Point″,coordinates:[113.332205,23.156263]},$maxDistance:1000}}})
其中,lbs(Location Based Service,基于位置的服务)是Mangodb数据库的一个表。
在本发明实施例中,执行步骤S200之前还包括:将POI母库数据导入到Mangodb数据库中,导入到Mangodb数据库的字段包括:ID,NAME,KIND,ADDRESS,TEL,X,Y,CITYCODE,除了坐标X,Y之外的字段ID,NAME,KIND,ADDRESS,TEL,CITYCODE可以直接插入到Mangodb,而因为地理坐标是二维结构,需要按照二维结构存储到Mangodb数据库中,因此地理坐标X,Y需要利用GDAL开源库将POI的X,Y字段转换成Bson格式插入到Mangodb中。具体转换方法如下:
将母库POI导入到Mangodb数据库中之后,需要建立索引,索引分为普通索引和空间索引,一般情况下,除地理坐标X,Y之外的字段建立普通索引,地理坐标建立空间索引,普通索引如:db.lbs.ensureIndex({name:1}),空间索引如:db.lbs.ensureIndex({loc:″2dsphere″}),这里建立索引的目的是为了后续的查询能够快速进行。
在步骤S220中,可选地,将查询结果按照距离所接收的POI的位置信息由近及远输出,具体操作步骤为:
S221:计算所查询到的位置信息与POI的位置信息之间的距离;
S222:按照距离从小到大的顺序输出查询结果。
可选地,输出查询结果的格式为Json格式,然后从Json格式的输出结果中解析出ID,NAME,KIND,ADDRESS,TEL,X,Y,CITYCODE等字段,解析完毕后,执行步骤S300:根据Mangodb的查询结果,在Lucene中建立索引,并进行全文检索,得到目标POI。在该步骤中,首先按照Lucene的索引机制建立内存索引库,具体执行为:
因为在该步骤中,直接利用Lucene进行全文检索,而不再需要执行空间查询的步骤,因此没有必要把地理坐标存储到内存数据库了。具体地,如图2所示,创建索引的流程为首先将字符串String输入分词器Analyzer进行分析,也就是对字符串String进行分词,将字符串分成多个字段Field,将分成的多个字段Field组合成一个文档Document,也就是说,文档Document包含了Mangodb数据库的查询结果中的各个字段,比如ID,NAME,KIND等字段,然后通过索引创建器IndexWriter将文档Document写入到内存中,形成目录Directory,生成内存索引数据库。
经过Mangodb数据库的初步查询,即空间数据查询之后,已经缩小了POI数据检索的范围,再通过Lucene的全文检索,便可得到目标POI数据。举例来说,如果检索“北京四维图新科技股份有限公司″,按照一般的文检索的步骤如图3所示,全文检索的优势就在于对整个字符串进行分析检索,并计算各个部分的权重,选出最相似的POI。例如,全文检索“北京四维图新科技股份有限公司”,按照非全文检索的分词算法,可检索“北京”,“四维”,“图”,“新”,“科技”,“股份”,“有限”,“公司”等关键字,因为“图新”一般认为是未登陆词,所以一般的非全文检索的索引智能按照单个字分词,而在Lucene中,则会根据每条POI含有以上关键词的数量、包含顺序、关键词出现位置等计算出所检索到的数据和需要检索的POI数据之间的相似度,并按照相似度的大小排序给出检索结果。由上述实施例可以看出,本发明实施例提供的POI数据检索方法,充分运用了Mangodb数据库对空间数据查询的支持,以及Lucene对全文检索的支持,将两者的优势结合起来,提高了POI数据查询的效率。
基于相同的发明构思,本申请还提供了一种POI数据检索装置,包括:接收模块410,用于接收用户输入的POI的位置信息;查询模块420,用于根据POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询;目标POI获取模块430,用于根据Mangodb的查询结果,在Lucene中建立索引,并进行全文检索,得到目标POI。
优选地,前述的POI数据检索装置还包括导入模块,用于将POI母库数据导入到Mangodb数据库中。
优选地,前述的POI数据检索装置中的查询模块420还包括数据缓冲区模块,用于在Mangodb数据库中建立以POI的位置信息为圆心,以预设的查询距离为半径的数据缓冲区;执行模块,用于在数据缓冲区建立模块建立的数据缓冲区中,执行查询POI数据的步骤。
优选地,前述POI数据检索装置还包括计算模块,用于计算所查询到的位置信息与POI的位置信息的距离;输出模块,用于按照距离从小到大的顺序输出查询结果。
优选地,前述的POI数据检索装置,还包括转换模块,用于将POI母库中的位置数据由GDAL开源库将位置数据转换成Bson格式插入到Mangodb数据库中。
由上述实施例可以看出,本发明实施例提供的POI数据检索装置,用以实现POI数据检索方法,充分运用了Mangodb数据库对空间数据查询的支持,以及Lucene对全文检索的支持,将两者的优势结合起来,提高了POI数据查询的效率。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (10)
1.一种POI数据检索方法,其特征在于,所述方法包括:
接收用户输入的POI的位置信息;
根据所述POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询操作;
根据Mangodb的查询结果,在Lucene中建立索引,并进行全文检索,按照相似度的大小排序给出检索结果,得到目标POI,其中,所述在Lucene中建立索引,包括:按照Lucene的索引机制建立内存索引库,所述内存索引库中不包含地理坐标。
2.如权利要求1所述的POI数据检索方法,其特征在于,在所述接收用户输入的POI的位置信息之前,还包括:
将POI母库数据导入到Mangodb数据库中。
3.如权利要求1所述的POI数据检索方法,其特征在于,所述根据所述POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询操作包括:
在Mangodb数据库中建立以所述POI的位置信息为圆心,以所述预设的查询距离为半径的数据缓冲区;
在所述数据缓冲区中查询POI数据。
4.如权利要求1或2或3所述的POI数据检索方法,其特征在于,在所述根据所述POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询操作之后还包括:
计算所查询到的位置信息与所述POI的位置信息之间的距离;
按照所述距离从小到大的顺序输出查询结果。
5.如权利要求2所述的POI数据检索方法,其特征在于,所述POI母库中的位置数据由GDAL开源库将所述位置数据转换成Bson格式插入到Mangodb数据库中。
6.一种POI数据检索装置,其特征在于,所述装置包括:
接收模块,用于接收用户输入的POI的位置信息;
查询模块,用于根据所述POI的位置信息,以及预设的查询距离,在Mangodb数据库中执行查询;
目标POI获取模块,用于根据Mangodb的查询结果,在Lucene中建立索引,并进行全文检索,按照相似度的大小排序给出检索结果,得到目标POI,其中,所述在Lucene中建立索引,包括:按照Lucene的索引机制建立内存索引库,所述内存索引库中不包含地理坐标。
7.如权利要求6所述的POI数据检索装置,其特征在于,所述装置还包括导入模块,
所述导入模块用于将POI母库数据导入到Mangodb数据库中。
8.如权利要求6所述的POI数据检索装置,其特征在于,所述查询模块包括:
数据缓冲区建立模块,用于在Mangodb数据库中建立以所述POI的位置信息为圆心,以所述预设的查询距离为半径的数据缓冲区;
执行模块,用于在所述数据缓冲区建立模块建立的数据缓冲区中,执行查询POI数据的步骤。
9.如权利要求6或7或8所述的POI数据检索装置,其特征在于,所述装置还包括:
计算模块,用于计算所查询到的位置信息与所述POI的位置信息的距离;
输出模块,用于按照所述距离从小到大的顺序输出查询结果。
10.如权利要求7所述的POI数据检索装置,其特征在于,所述装置还包括:
转换模块,用于将所述POI母库中的位置数据由GDAL开源库将所述位置数据转换成Bson格式插入到Mangodb数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610046173.6A CN106997354B (zh) | 2016-01-25 | 2016-01-25 | 一种poi数据检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610046173.6A CN106997354B (zh) | 2016-01-25 | 2016-01-25 | 一种poi数据检索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106997354A CN106997354A (zh) | 2017-08-01 |
CN106997354B true CN106997354B (zh) | 2020-07-28 |
Family
ID=59428645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610046173.6A Active CN106997354B (zh) | 2016-01-25 | 2016-01-25 | 一种poi数据检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106997354B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197212A (zh) * | 2017-12-28 | 2018-06-22 | 浙江科澜信息技术有限公司 | 一种地理信息要素的检索方法、装置、设备及存储介质 |
CN110674419B (zh) * | 2019-01-25 | 2020-10-20 | 滴图(北京)科技有限公司 | 地理信息检索方法、装置、电子设备及可读存储介质 |
CN110990651B (zh) * | 2019-12-05 | 2021-06-04 | 同盾控股有限公司 | 地址数据处理方法、装置、电子设备及计算机可读介质 |
CN113918819A (zh) * | 2021-10-25 | 2022-01-11 | 广州新华学院 | 一种信息智能查询方法、系统及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103207919A (zh) * | 2013-04-26 | 2013-07-17 | 北京亿赞普网络技术有限公司 | 一种MongoDB集群快速查询计算的方法及装置 |
CN103268336A (zh) * | 2013-05-13 | 2013-08-28 | 刘峰 | 一种快数据和大数据结合的数据处理方法及其系统 |
CN103699531A (zh) * | 2012-09-27 | 2014-04-02 | 中国电信股份有限公司 | 位置搜索方法和位置搜索引擎 |
US10200390B2 (en) * | 2016-02-29 | 2019-02-05 | Palo Alto Networks, Inc. | Automatically determining whether malware samples are similar |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350013A (zh) * | 2007-07-18 | 2009-01-21 | 北京灵图软件技术有限公司 | 一种地理信息的搜索方法和系统 |
US20110196602A1 (en) * | 2010-02-08 | 2011-08-11 | Navteq North America, Llc | Destination search in a navigation system using a spatial index structure |
CN101777082A (zh) * | 2010-03-01 | 2010-07-14 | 苏州数字地图网络科技有限公司 | 一种文字信息与地理信息的关联方法及系统 |
CN103412933A (zh) * | 2013-08-20 | 2013-11-27 | 南京物联网应用研究院有限公司 | 一种云搜索平台 |
-
2016
- 2016-01-25 CN CN201610046173.6A patent/CN106997354B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699531A (zh) * | 2012-09-27 | 2014-04-02 | 中国电信股份有限公司 | 位置搜索方法和位置搜索引擎 |
CN103207919A (zh) * | 2013-04-26 | 2013-07-17 | 北京亿赞普网络技术有限公司 | 一种MongoDB集群快速查询计算的方法及装置 |
CN103268336A (zh) * | 2013-05-13 | 2013-08-28 | 刘峰 | 一种快数据和大数据结合的数据处理方法及其系统 |
US10200390B2 (en) * | 2016-02-29 | 2019-02-05 | Palo Alto Networks, Inc. | Automatically determining whether malware samples are similar |
Also Published As
Publication number | Publication date |
---|---|
CN106997354A (zh) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9235598B2 (en) | Location based full text search | |
US8862566B2 (en) | Systems and methods for intelligent parallel searching | |
US10452661B2 (en) | Automated database schema annotation | |
CN106997354B (zh) | 一种poi数据检索方法及装置 | |
CN106033416A (zh) | 一种字符串处理方法及装置 | |
CN102567329B (zh) | 一种数据查询方法及系统 | |
CN107690637B (zh) | 使用大表语料库连接语义相关的数据 | |
CN103425687A (zh) | 一种基于关键词的检索方法和系统 | |
US8700661B2 (en) | Full text search using R-trees | |
US9727595B2 (en) | Location searching with category indices | |
CN102693266A (zh) | 搜索数据库的方法、生成索引结构的导航设备和方法 | |
CN103810224A (zh) | 信息持久化和查询方法及装置 | |
CN102915381B (zh) | 基于多维语义的可视化网络检索呈现系统及呈现控制方法 | |
CN105069094B (zh) | 一种基于语义理解的空间关键字索引方法 | |
CN110362652B (zh) | 基于空间-语义-数值相关度的空间关键字Top-K查询方法 | |
CA2709116A1 (en) | Method and system for enabling location entry | |
WO2020108345A1 (zh) | 数据库索引以及数据库查询的处理方法、装置及设备 | |
CN102609455B (zh) | 一种实现汉语同音字检索的方法 | |
CN117609468A (zh) | 生成检索语句的方法及装置 | |
CN108536819B (zh) | 整型列与字符串比较的方法、装置、服务器及存储介质 | |
CN105787029A (zh) | 一种基于solr的关键字词识别办法 | |
US20180011934A1 (en) | Identifying spatial records | |
CN103020300A (zh) | 一种信息检索方法和设备 | |
US20170147604A1 (en) | Database index for the optimization of distance related queries | |
CN112270199A (zh) | 基于CGAN方法的个性化语义空间关键字Top-K查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |