The present invention relates to a spatial keyword query method and device based on geohash and B Tree. The method includes: data preprocessing steps, encoding all position points in data set D into string with growing degree n, sorting each row of data in data set D according to dictionary order with string as sorting object, and generating numbering id, etc. Identify flag, each row of data is called a record r, and the data set consisting of one or more rows of records R is called recordset R; spatial keyword indexing steps are used to build B Tree for string; inverted index is used to build flag in recordset R, whose list elements are keywords and corresponding ID lists to get domain keywords. Inverted index structure; spatial keyword query steps, retrieve B Tree and domain keyword inverted index structure, obtain the ID that meets the query conditions, filter the ID candidate set, and validate the candidate set to return the location point that meets the spatial query conditions. The invention can efficiently support keyword queries in any spatial scope.
【技术实现步骤摘要】
一种基于geohash与B-Tree的空间关键词查询方法及装置
本专利技术涉及一种基于geohash与B-Tree的空间关键词查询方法及装置,属于空间关键词查询(SpatialKeywordquery)领域、基于位置的服务(Location-BasedService,LBS)等领域。
技术介绍
随着移动设备的普及、定位技术的快速发展、基于位置的服务运用的快速增长等,导致产生了大量具有位置属性的文本数据,即空间文本,如何从这些数据中快速获取所需信息是空间文本查询领域的核心问题。根据应用场景,空间文本查询可分为空间关键词查询与分发/订阅查询。为高效支持空间关键词查询则需高效的空间关键词索引结构。目前,国内外对空间文本索引结构进行了广泛而又深入的研究,这些索引结构通常组合空间索引结构与文本索引结构。根据所采用的空间索引结构的不同,可将其分为:基于R-Tree及其变体、grid/Quad-Tree、space-fillingcurve的空间文本索引;根据所采用的文本索引结构,可将其分为:基于倒排列表与签名文件的空间文本索引。空间索引与文本索引的组合方式分为:独立组合、松散组合、紧凑组合。据空间关键词查询领域国内外研究现状可知,R-Tree及其变体与倒排索引组合的索引结构是主流的空间关键词索引结构。R-Tree的变体以面积最小原则、重叠区域最小原则、周长最小原则和存储利用率较高原则为导向对R-Tree进行优化,但检索效率仍受R-Tree多路径查询问题的制约。
技术实现思路
为高效支持任意空间范围的关键词查询,本专利技术提供了一种基于geohash与B-Tree的空间关键 ...
【技术保护点】
1.一种基于geohash与B‑Tree的空间关键词查询方法,其特征在于:包括:数据预处理步骤,将数据集D中所有位置点编码成长度为n的字符串string,以string为排序对象按字典序对数据集D中的每行数据排序并生成编号id、标识flag,每一行数据称为一条记录r,则由一至多行记录r组成的数据集称为记录集R;其中,flag为string的唯一标识,用整形表示;空间关键词索引建立步骤,对string构建B‑Tree;对记录集R中的flag建立倒排索引,其列表元素为关键词及与其相对应的id列表,得到域‑关键词倒排索引结构;空间关键词查询步骤,检索B‑Tree与域‑关键词倒排索引结构,获取满足查询条件的id,经过滤得到id候选集,并对候选集验证返回满足空间查询条件的位置点。
【技术特征摘要】
1.一种基于geohash与B-Tree的空间关键词查询方法,其特征在于:包括:数据预处理步骤,将数据集D中所有位置点编码成长度为n的字符串string,以string为排序对象按字典序对数据集D中的每行数据排序并生成编号id、标识flag,每一行数据称为一条记录r,则由一至多行记录r组成的数据集称为记录集R;其中,flag为string的唯一标识,用整形表示;空间关键词索引建立步骤,对string构建B-Tree;对记录集R中的flag建立倒排索引,其列表元素为关键词及与其相对应的id列表,得到域-关键词倒排索引结构;空间关键词查询步骤,检索B-Tree与域-关键词倒排索引结构,获取满足查询条件的id,经过滤得到id候选集,并对候选集验证返回满足空间查询条件的位置点。2.根据权利要求1所述的基于geohash与B-Tree的空间关键词查询方法,其特征在于:所述数据预处理步骤,具体包括如下步骤:步骤110:给定一个由一系列位置点、关键词集构成的数据集D,通过geohash空间编码方法将数据集D中的位置点编码成长度为n的字符串string;其中,位置点由纬度、经度数据构成;string即geohash编码,表示geohash精度表中n对应的范围区域;步骤120:以string为排序对象按字典序对数据集D中的每行数据排序并生成编号id、标识flag,每一行数据称为一条记录r,则由一至多行记录r组成的数据集称为记录集R;其中,R中每行数据r由id、纬度lat、经度lon、字符串string、关键词集items、string标识flag组成,items至少包含一个关键词item。3.根据权利要求1所述的基于geohash与B-Tree的空间关键词查询方法,其特征在于:所述空间关键词索引建立步骤,具体为:步骤210:对Rstr构建B-Tree,每个结点至少存储1个<string,id>;其中,Rstr表示R中所有string且保持其顺序性;步骤220:对Rf中每个独立元素flagi,构建倒排索引,并对Rpart中每个独立元素item,构建一个由包含item的rpart.id组成的倒排列表;其中,Rf表示R中flag集,rÎR;rpart由R中包含flagi的r.id与r.items组成,r.id表示r的id,r.items表示r的关键词集,Rpart表示由一至多行rpart组成的数据集。4.根据权利要求1所述的基于geohash与B-Tree的空间关键词查询方法,其特征在于:所述空间关键词查询步骤,具体包括如下步骤:步骤310:给定查询位置点q、查询距离范围d、查询关键词集qitems,根据geohash精度表选定与d相对应的geohash编码长度p,通过geohash空间编码方法将位置点q编码为p位长度的字符串qs,获取字符串qs周围8个区域的geohash编码,并将字符串qs及其周围8个区域的geohash编码分别作为查询域,共9个查询域;其中,p对应的距离误差不小于d且为最小值;qitems至少由一个关键词item构成;步骤320:检索B-Tree与域-关键词倒排索引结构返回满足查询条件的id;其中,查询条件指查询域内包含全部qitems的id;步骤330:根据查询位置点q和查询距离范围d分别确定纬度范围与经度范围,根据经纬度范围对与步骤320返回的id相对应的位置点进行筛选,最终得到id候选集;步骤340:计算候选集中id对应的位置点到q的距离dq:若dq≤d,则返回该位置点,否则,不返回。5.根据权利要求2所述的基于geohash与B-Tree的空间关键词查询方法,其特征在于:所述步骤110,包括下列步骤111、112:步骤111:根据geohash精度表确定geohash编码长度n;步骤112:通过geo...
【专利技术属性】
技术研发人员:沈兵林,贾连印,游进国,丁家满,张晶,陈明鲜,张崇德,唐季林,
申请(专利权)人:昆明理工大学,
类型:发明
国别省市:云南,53
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。