一种基于关键词倒排与Trie的空间关键词查询方法及装置制造方法及图纸

技术编号:19388851 阅读:18 留言:0更新日期:2018-11-10 02:00
本发明专利技术涉及一种基于关键词倒排与Trie的空间关键词查询方法及装置,本发明专利技术方法包括:数据预处理步骤,将数据集D中所有位置点编码成长度为n的字符串,以该字符串为排序对象按字典序对数据集D中每行数据排序并生成编号id,每一行数据称为一条记录r,则由一至多行记录r组成的数据集称为记录集R;空间关键词索引建立步骤,对记录集R中关键词集建立倒排索引,之后,对任一关键词所属id对应的字符串构建Trie,得到关键词倒排与Trie组合的索引结构;空间关键词查询步骤,检索关键词倒排与Trie组合的索引结构,获取满足查询条件的id,经过滤得到id候选集,并对候选集验证返回满足空间查询条件的位置点。本发明专利技术可高效支持任意空间范围的关键词查询。

A keyword query method and device based on keyword inverted and Trie

The invention relates to a spatial keyword query method and device based on keyword inversion and Trie. The method comprises data preprocessing steps, encoding all position points in data set D into a string with a growth degree of n, sorting each row of data in data set D in dictionary order and generating a numbering ID with the string as the sorting object. Each row of data is called a record r, and the data set consisting of one or more rows of records R is called a record set R. The step of establishing spatial keyword index is to establish inverted index for the keyword set in the record set R. After that, Trie is constructed for the string corresponding to the ID of any keyword, and the index combination of inverted keyword and Trie is obtained. Construct; Spatial keyword query step, retrieve the index structure of the combination of inverted keywords and Trie, obtain the ID satisfying the query conditions, filter the ID candidate set, and verify the candidate set to return the location points satisfying the spatial query conditions. The invention can efficiently support keyword queries in any spatial scope.

【技术实现步骤摘要】
一种基于关键词倒排与Trie的空间关键词查询方法及装置
本专利技术涉及一种基于关键词倒排与Trie的空间关键词查询方法及装置,属于空间关键词查询(SpatialKeywordquery)领域、基于位置的服务(Location-BasedService,LBS)等领域。
技术介绍
近年来,随着智能手机、平板电脑等移动设备的普及,基于桌面的互联网时代已转向移动互联网时代。与此同时,随着定位技术的快速发展,如:GNSS、GPS、3G/4G等,导致产生了大量基于位置的服务。这些服务产生了大量具有位置属性的文本数据,即空间文本,如何从这些数据中快速获取所需信息是空间文本查询领域的核心问题。根据应用场景,空间文本查询可分为空间关键词查询与分发/订阅查询。为高效支持空间关键词查询则需高效的空间文本索引结构。目前,国内外对空间文本索引结构进行了广泛而又深入的研究,这些索引结构通常组合空间索引结构与文本索引结构。根据所采用的空间索引结构的不同,可将其分为:基于R-Tree及其变体、grid/Quad-Tree、space-fillingcurve的空间文本索引;根据所采用的文本索引结构,可将其分为:基于倒排列表与签名文件的空间文本索引。空间索引与文本索引的组合方式分为:独立组合、松散组合、紧凑组合。据空间文本查询领域国内外研究现状可知,R-Tree及其变体与倒排索引组合的索引结构是主流的空间文本索引结构。R-Tree的变体以面积最小原则、重叠区域最小原则、周长最小原则和存储利用率较高原则为导向对R-Tree进行优化,但检索效率仍受R-Tree多路径查询问题的制约。专利技术内容为高效支持任意空间范围的关键词查询,本专利技术提供了一种基于关键词倒排与Trie的空间关键词查询方法及装置。本专利技术的技术方案是:一种基于关键词倒排与Trie的空间关键词查询方法,包括:数据预处理步骤,将数据集D中所有位置点编码成长度为n的字符串,以该字符串为排序对象按字典序对数据集D中每行数据排序并生成编号id,每一行数据称为一条记录r,则由一至多行记录r组成的数据集称为记录集R;空间关键词索引建立步骤,对记录集R中关键词集建立倒排索引,之后,对任一关键词所属id对应的字符串构建Trie,得到关键词倒排与Trie组合的索引结构;空间关键词查询步骤,检索关键词倒排与Trie组合的索引结构,获取满足查询条件的id,经过滤得到id候选集,并对候选集验证返回满足空间查询条件的位置点。所述数据预处理步骤,具体包括如下步骤:步骤110:给定一个由一系列位置点、关键词集构成的数据集D,通过geohash空间编码方法将数据集D中的位置点编码成长度为n的字符串string;其中,位置点由纬度、经度数据构成;其中,string即geohash编码,表示geohash精度表中n对应的范围区域,步骤120:以string为排序对象按字典序对数据集D中每行数据排序并生成编号id,每一行数据称为一条记录r,则由一至多行记录r组成的数据集称为记录集R;其中,R中每行数据r由id、纬度lat、经度lon、字符串string、关键词集items组成,items至少包含一个关键词item。所述空间关键词索引建立步骤,具体为:步骤210:对Ritems中每个独立元素itemi,构建倒排索引;其中,Ritems表示R中全部关键词,itemi表示Ritems中第i个关键词;步骤220:对Rstr构建Trie索引结构,Rstr中的每个字符串可映射为Trie中一条从根到叶节点的路径,Trie节点存储Rpart中rpart.string的前m位等于spre的起始id与id个数;其中,Rpart表示由一至多行rpart组成的记录集,rpart表示R中包含itemi的r.id、r.string组成,r.id表示r的id,r.string表示r的字符串,Rstr表示Rpart中所有字符串且保持其顺序性,spre指从根节点到当前节点构成的字符串,m表示spre的长度,rpart.string表示rpart的string;步骤230:列表list按序存储Rpart中包含于关键词集items的每个独立元素itemi对应的id。所述空间关键词查询步骤,具体包括如下步骤:步骤310:给定查询位置点q、查询距离范围d、查询关键词集qitems,根据geohash精度表选定与d相对应的geohash编码长度p,通过geohash空间编码方法将位置点q编码为p位长度的字符串qs,获取字符串qs周围8个区域的geohash编码,并将字符串qs及其周围8个区域的geohash编码分别作为查询域,共9个查询域;其中,p对应的距离误差不小于d且为最小值;qitems至少由一个关键词item构成;步骤320:检索关键词倒排与Trie组合的索引结构返回满足查询条件的id;其中,查询条件指查询域内包含全部qitems的id;步骤330:根据查询位置点q和查询距离范围d分别确定纬度范围与经度范围,根据经纬度范围对与步骤320返回的id相对应的位置点进行筛选,最终得到id候选集;步骤340:计算候选集中id对应的位置点到q的距离dq:若dq≤d,则返回该位置点,否则,不返回。所述步骤110,包括下列步骤111、112:步骤111:根据geohash精度表确定geohash编码长度n;步骤112:通过geohash空间编码方法将所有位置点编码成长度为n的字符串。通过geohash空间编码方法将位置点编码成字符串,具体为:首先,将经纬度范围看作二维平面坐标系;然后,采用二分法对经度/纬度进行划分,根据位置点经度/纬度在划分结果中的位置分别赋值0或1,直到划分次数满足对应的经/纬度位串的位数;之后,通过位交错方法合并经度位串与纬度位串;最后,通过Base32编码将经纬度位串编码为相应长度的字符串。所述步骤310中,获取qs周围8个区域的geohash编码的方法:根据qs的经纬度位串,东/西方向的区域编码:经度位串不变,纬度位串加/减1,通过位交错方法得到该区域的经纬度位串;南/北方向的区域编码:纬度位串不变,经度位串减/加1,通过位交错方法得到该区域的经纬度位串;东北/西南方向的区域编码,经纬度位串均加/减1,通过位交错方法得到该区域的经纬度位串;东南方向的区域编码:纬度位串加1,经度位串减1,通过位交错方法得到该区域的经纬度位串;西北方向的区域编码:纬度位串减1,经度位串加1,通过位交错方法得到该区域的经纬度位串;之后,通过Base32编码将以上8个位串进行编码即可获得qs周围8个区域的geohash编码。所述步骤320具体为:步骤321:根据qitems检索关键词倒排与Trie组合的索引结构,选取与qitem连接的Trie;其中qitemÎqitems;步骤322:以与任一查询关键词相连接的Trie为例,根据geohash编码检索Trie返回的起始id顺序检索list列表至返回由s个id组成的集合Sid,即为包含该查询关键词且在查询域内的id,Trie均被检索后,对所有Sid求交集,即为该查询域内满足查询条件的id;其中,s指根据geohash编码检索Trie返回的id个数;据前述方法,分别获取9个查询域内满足查询条件的id,之后本文档来自技高网...

【技术保护点】
1.一种基于关键词倒排与Trie的空间关键词查询方法,其特征在于:包括:数据预处理步骤,将数据集D中所有位置点编码成长度为n的字符串,以该字符串为排序对象按字典序对数据集D中每行数据排序并生成编号id,每一行数据称为一条记录r,则由一至多行记录r组成的数据集称为记录集R;空间关键词索引建立步骤,对记录集R中关键词集建立倒排索引,之后,对任一关键词所属id对应的字符串构建Trie,得到关键词倒排与Trie组合的索引结构;空间关键词查询步骤,检索关键词倒排与Trie组合的索引结构,获取满足查询条件的id,经过滤得到id候选集,并对候选集验证返回满足空间查询条件的位置点。

【技术特征摘要】
1.一种基于关键词倒排与Trie的空间关键词查询方法,其特征在于:包括:数据预处理步骤,将数据集D中所有位置点编码成长度为n的字符串,以该字符串为排序对象按字典序对数据集D中每行数据排序并生成编号id,每一行数据称为一条记录r,则由一至多行记录r组成的数据集称为记录集R;空间关键词索引建立步骤,对记录集R中关键词集建立倒排索引,之后,对任一关键词所属id对应的字符串构建Trie,得到关键词倒排与Trie组合的索引结构;空间关键词查询步骤,检索关键词倒排与Trie组合的索引结构,获取满足查询条件的id,经过滤得到id候选集,并对候选集验证返回满足空间查询条件的位置点。2.根据权利要求1所述的基于关键词倒排与Trie的空间关键词查询方法,其特征在于:所述数据预处理步骤,具体包括如下步骤:步骤110:给定一个由一系列位置点、关键词集构成的数据集D,通过geohash空间编码方法将数据集D中的位置点编码成长度为n的字符串string;其中,位置点由纬度、经度数据构成;其中,string即geohash编码,表示geohash精度表中n对应的范围区域,步骤120:以string为排序对象按字典序对数据集D中每行数据排序并生成编号id,每一行数据称为一条记录r,则由一至多行记录r组成的数据集称为记录集R;其中,R中每行数据r由id、纬度lat、经度lon、字符串string、关键词集items组成,items至少包含一个关键词item。3.根据权利要求1所述的基于关键词倒排与Trie的空间关键词查询方法,其特征在于:所述空间关键词索引建立步骤,具体为:步骤210:对Ritems中每个独立元素itemi,构建倒排索引;其中,Ritems表示R中全部关键词,itemi表示Ritems中第i个关键词;步骤220:对Rstr构建Trie索引结构,Rstr中的每个字符串可映射为Trie中一条从根到叶节点的路径,Trie节点存储Rpart中rpart.string的前m位等于spre的起始id与id个数;其中,Rpart表示由一至多行rpart组成的记录集,rpart表示R中包含itemi的r.id、r.string组成,r.id表示r的id,r.string表示r的字符串,Rstr表示Rpart中所有字符串且保持其顺序性,spre指从根节点到当前节点构成的字符串,m表示spre的长度,rpart.string表示rpart的string;步骤230:列表list按序存储Rpart中包含于关键词集items的每个独立元素itemi对应的id。4.根据权利要求3所述的基于关键词倒排与Trie的空间关键词查询方法,其特征在于:所述空间关键词查询步骤,具体包括如下步骤:步骤310:给定查询位置点q、查询距离范围d、查询关键词集qitems,根据geohash精度表选定与d相对应的geohash编码长度p,通过geohash空间编码方法将位置点q编码为p位长度的字符串qs,获取字符串qs周围8个区域的geohash编码,并将字符串qs及其周围8个区域的geohash编码分别作为查询域,共9个查询域;其中,p对应的距离误差不小于d且为最小值;qitems至少由一个关键词item构成;步骤320:检索关键词倒排与Trie组合的索引结构返回满足查询条件的id;其中,查询条件指查询域内包含全部qitems的id;步骤330:根据查询位置点q和查询距离范围d分别确定纬度范围与经度范围,根据经纬度范围对与步骤320返回的id相对应的位置点进行筛选,最终得到id候选集;步骤340:计算候选集中id对应的位置点到q的距离dq:若dq≤d,则返回该位置点,否则,不返回。5.根据权利要求2所述...

【专利技术属性】
技术研发人员:沈兵林贾连印李孟娟李晓武丁家满左喻灏胡俊涛雷妍
申请(专利权)人:昆明理工大学
类型:发明
国别省市:云南,53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1