WebGIS中兴趣点简单询问、基于Lucene分词查询的规划与落实

文章版权由作者李晓晖和博客园共有,若转载请于大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/。

1.前言

兴趣点查询是靠:输入框中输入地名、人名等查询信息后,地图上得以显得出对许信息所于的地址,并且根据要求为不同方式示出相关地点的性质信息相当。

因百度地图为例:

   766net必赢亚洲手机版 1                    

2.原理

所谓兴趣点查询,也不怕是前台输入描述信息后,后台根据该描述信息在地理数据库中询问及适合查询信息之地理数据和与此相应之属性数据,然后用数据返回给前台,前台进行展示。具体流程图如下:

 766net必赢亚洲手机版 2

3.数码搜集

所谓巧妇难为无米之炊,地理相关数据的获得是拖欠功能是否得逞与成效是否满足需求的着力。在骨子里项目面临,地理数据的来源一般有以下几种植艺术:

a.公司自己要外包给任何公司进行兴趣点数据收集。

b.由甲方或者跟甲方合作之老三正值商店提供数据或者相应数额获得的API接口。此种办法下,为了后期扩展,如果可以拿对方数目拉取存入己方设计好之连带表中,为最佳方法。

c.无数据来自,靠网络爬虫进行数量收集。

4.数入库

当数准备好后,我们无限家常用的艺术就是是针对性数码进行入库管理。

先是,需要根据实际工作需要,对兴趣点表进行符合实际情况的筹划。

副,便是指向兴趣点表中数的流入。常用的来零星种植方式,一种是将图层数据入库,然后以数据库被描写存储过程将欠入库数据开展团队后插入到兴趣点表中。第二栽不畏是付出满足急需的多少器,然后使用多少器将图层数据组织后注入及兴趣点表中。

5.风俗兴趣点查询的落实

太简便的贯彻方式,就是当兴趣点表建好后,直接对该表进行sql查询。根据要求,也足以挑选用Like等进行模糊查询。由于实在项目面临的兴趣点数据核心无会见了十万久,对表的优化没有非常明确的要求。

以下是一个无限简便易行的兴味点表所富含的始末:

 766net必赢亚洲手机版 3

查询sql后即使好回该兴趣点所当坐标和描述信息。

6.基于分词的兴趣点查询的落实

但是,如果用户输入的叙说信息超负荷复杂呢,比如输入的凡湖北省武汉大学,而我们数据库中唯有发武汉大学四个字的叙述信息,那么用户用无法查看及想要之音。或者,用户输入的凡汉语拼音为?当然,目前小数据库,比如Oracle是供了拼音查汉字的函数,但是首先这不是持有数据库都有的职能,其次,同样有对复杂拼音无法分割的气象。并且,数据库被LIKE是比耗资源的,使用了多善锁表。

那么,是否出重复好的化解方案来缓解者问题也?下面我拿与大家浅谈一下分词技术,和根据支持分词技术之Lucene的大概开发。

6.1汉语分词和分词原理

吴军博士当那《数学之美》一开被,对语音识别(马尔科夫链)、信息度量(香农定理及延伸定理)等等搜索方面的文化展开了通俗的叙说,虽然自己不是研究搜索方面的人选,看后为是格外有得。在斯开被,他专程花了一个篇幅来讲课汉语分词。此处我就算对中间内容大体做一个总。

 766net必赢亚洲手机版 4

6.1.1汉语分词的难题

于科学家最初步研究分词技术时,提出的钻方法是应用文法、语义来拓展分词。但是这种方式来少单重要的孤苦,一个凡是:数据量大,即想通过文法规则覆盖哪怕是20%之真语句,文法规则之数据最少是几万修;第二单凡是:即使会写有含有所有自然语言现象的语法规则集合,用微机分析其吧是相当之困苦。

后来科学家还要提出了统计方法来代替规则方法,即采用马尔科夫链来建立语言统计模型。

马尔科夫链是赖:每个状态值在前面有限个状态。放在分词上就是是,某种分词的章程,只同那个常用之几种分词方式的组合平率有涉嫌。

唯独言语统计模型用当华语分词上也以逢了难题,因为中文并无像英文等每个词语中有显而易见的空格分割,并且由于汉语的契意思差不多变概括力强大等等原因,导致了国文分词比英文分词难度颇过多。

6.1.2汉语分词方法的进化

6.1.2.1查字典法

拿词 “中国航天官员应邀到美国和高空总署负责人开会。” 分成一差词:中国 /
航天 / 官员 / 应邀 / 到 / 美国 / 与 / 太空 / 总署 / 官员 / 开会。

 最爱想到的,也是最最简便易行的分词办法就是翻开字典。这种方法极其早是由于北京航天航空大学之梁南元教授提出的。

 用 “查字典”
法,其实就是咱们将一个词从错误望右侧扫描一不折不扣,遇到字典里有些词即标识出来,遇到复合词(比如
“上海大学”)就搜最丰富之乐章匹配,遇到不认的字串就分成单字词,于是简单的分词就完事了。

而是该方式在千头万绪语义上效益不好,后来以翻看字典方法齐衍生出了至少词数分词法,不过该法在语言二意上展现为无如愿。

6.1.2.2冲统计语言的副嵌套法

采用上述提到了之马尔科夫链原理进行统计分词。对于语义定义不明朗的乐章时,在分词时找到符合嵌套的组织。“
北京大学”四个字,那么先把它当成一个四字词,然后再进一步找来精心分词 “北京”
和 “大学”。

6.1.2.3还是在的题目

当分词的一致性和分词的颗粒度上是诸多困难。

6.2基于Lucene的兴趣点分词查询的计划及促成

6.2.1Lucene底分词原理

Lucene使用的是倒排文件目录结构,其过程是第一根据分词技术取得数据的要字,然后因关键字建立倒排索引。

推选个例证,有有限首文章,分别是:

 766net必赢亚洲手机版 5

对情节简历索引后,得到的结果是:

 766net必赢亚洲手机版 6

6.2.2 设计有分词索引的数

    
这里我们是依靠对兴趣表的计划。为了让分词中来差不多只基本点字段(field),兴趣点表可以展开更加细化的统筹。比如:

 766net必赢亚洲手机版 7

6.2.3 分词索引的创始

6.2.3.1 创建ResultSet

 766net必赢亚洲手机版 8

6.2.3.2 基于ResultSet建立目录文件

实例化索引器:

 766net必赢亚洲手机版 9

树立目录内容:

  766net必赢亚洲手机版 10

关索引,将引得写副硬盘:

   766net必赢亚洲手机版 11

 

6.2.3.3 基于索引的分词查询

   读入索引:

 766net必赢亚洲手机版 12

   查询关键字段信息的组织:

 766net必赢亚洲手机版 13

   开始询问:

 766net必赢亚洲手机版 14

6.2.3.4拼音查询的结构

 当上面的询问没有结果经常,开启拼音查询:

 766net必赢亚洲手机版 15

 

6.3弊端

a.创建索引需要之工夫比丰富。

b.数据库中之多寡更新时,并无能够活动的触发索引文件之换代。同样找引文件的更新为是花费大量日。

可以下Spring提供的scheduling方法来进展定时触发更新:

 766net必赢亚洲手机版 16

7.前端展示

前端获得回的数据后,首先冲XY在地图上标注有查询结果。同时将地理数据对应之属性数据展示在显示面板中。其他实际事情逻辑可以拓展定制开发。

 

                                                                
—–欢迎转载,但保留版权,请叫大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                          
如果你觉得本文确实帮了公,可以微信扫一扫,进行小额的打赏和鞭策,谢谢
^_^

                                  766net必赢亚洲手机版 17

发表评论

电子邮件地址不会被公开。 必填项已用*标注