CN102456055B - 兴趣点检索的方法及装置 - Google Patents

兴趣点检索的方法及装置 Download PDF

Info

Publication number
CN102456055B
CN102456055B CN201010529311.9A CN201010529311A CN102456055B CN 102456055 B CN102456055 B CN 102456055B CN 201010529311 A CN201010529311 A CN 201010529311A CN 102456055 B CN102456055 B CN 102456055B
Authority
CN
China
Prior art keywords
attribute
row chain
interest
keyword
falling row
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
Application number
CN201010529311.9A
Other languages
English (en)
Other versions
CN102456055A (zh
Inventor
王景刚
熊科浪
江红英
王建宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Tencent Computer Systems Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201010529311.9A priority Critical patent/CN102456055B/zh
Publication of CN102456055A publication Critical patent/CN102456055A/zh
Application granted granted Critical
Publication of CN102456055B publication Critical patent/CN102456055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种兴趣点检索的方法及装置,属于信息检索领域。所述方法包括:接收兴趣点检索的请求,所述请求包括查询词和属性;将所述查询词切分成对应的关键词;获取每个关键词对应的关键词扩展索引和倒排链表;根据所述每个关键词对应的关键词扩展索引和所述属性,从所述关键词对应的倒排链表中获取子倒排链表;对所有获取的子倒排链表进行与归并,归并后的结果即为兴趣点检索的结果。所述装置包括:接收模块、切分模块、第一获取模块、第二获取模块和归并模块。本发明通过建立关键词扩展索引和具有树形结构的倒排链表,在检索时获取子倒排链表并归并,使归并的数量大大减少,增强了检索的性能,极大的提高了检索效率。

Description

兴趣点检索的方法及装置
技术领域
本发明涉及信息检索领域,特别涉及一种兴趣点检索的方法及装置。
背景技术
POI(Point of Interest,兴趣点)检索是指对感兴趣的目标进行检索。如对建筑物、道路、餐厅及公司等地点进行检索时,通过查询名称,检索出与该名称匹配的地址。一条POI记录一般包括名称、地址、所属行政区域及所属类别等内容。为了使检索到的结果更精确,现有技术实现了带有属性的POI检索。POI的属性包括行政区域属性和类别属性等,行政区域属性的根结点是“全国”,其子结点是省级(含直辖市、自治区)行政区域,省级下面是市级行政区域,市级行政区域下面是区县级行政区域等,类别属性的根结点是“兴趣点”,其子节点是“餐饮服务”、“风景名胜”等,而“餐饮服务”下面有“快餐厅”、“中餐厅”等,“中餐厅”下面又有“粤菜”、“湘菜”等,这两种属性都具有严格的树状结构。现有技术中带有属性的POI检索方案如下:
现有技术一:筛选法
筛选法在检索时先忽略检索的属性,只根据查询词对应的关键字检索出所有与查询词匹配的POI记录,然后逐一检查这些POI记录的属性是否与所检索的属性相同,如果相同,则保留该记录,如果不相同,则记录被筛掉。以行政区域内检索为例,当检索(广东省+实验小学)时,先对查询词“实验小学”进行检索,得到在全国范围内匹配的POI记录,然后逐一检查这些POI记录是否在广东省内,是则保留,不是则筛掉。
现有技术二:特殊关键词法
特殊关键词法先建立包含属性等特殊关键词的倒排链表,当进行POI检索时,把用户输入的属性和查询词组装成新的查询词,然后根据新的查询词进行检索,得到的结果就是最终结果。以行政区域内检索为例,当用户检索(广东省+实验小学)时,将其组装成新的查询词“广东省,实验小学”,通过新的查询词检索出同时含有关键词“广东省”、“实验”和“小学”的POI记录,即为检索的最终结果。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
在现有技术一的筛选法中,不考虑属性得到的所有属性下的POI记录是非常多的,归并出的结果也非常多,而与用户指定的属性相匹配的POI记录却相对少很多,如果每次都对关键词对应的所有属性下的POI记录进行归并及筛选,会做很多无用功,严重影响检索性能,导致检索效率低。以行政区域内检索为例,全国范围内与“实验小学”相匹配的POI记录有数千个,而在深圳市内与其相匹配的POI记录只有数十个,如果用户检索(深圳市+实验小学),检索出来的大部分结果都会由于区域不匹配而被筛掉,检索效率低。
在现有技术二的特殊关键词法中,属性等特殊关键词对应的倒排链表,实际上是这个属性下的所有POI记录的集合。而普通关键词对应的倒排链表,则是与这个关键词对应的所有属性下的POI记录的集合。链表归并的过程就是求这两个集合的交集的过程。由于特殊关键词法增加了特殊关键词对应的倒排链表,则增加了归并的链表数量,特别是当特殊关键词链表与普通关键词链表都较长、但它们的交集较小时,进行链表归并的计算耗费更多的时间和内存,使检索效率低。
由此可见,无论是现有技术中的筛选法还是特殊关键词法,其主要缺点都是性能差,检索效率低。
发明内容
为了增强带有属性的POI检索的性能,提高检索效率,本发明实施例提供了一种POI检索的方法及装置。所述技术方案如下:
一方面,提供了一种兴趣点检索的方法,所述方法包括:
接收兴趣点检索的请求,所述请求包括查询词和属性;
将所述查询词切分成对应的关键词;
获取每个关键词对应的关键词扩展索引和倒排链表;
根据所述属性在每个关键词对应的关键词扩展索引上进行查找,得到所述属性在所述倒排链表中的起始位置及长度;
根据所述属性在所述倒排链表中的起始位置及长度,从所述关键词对应的倒排链表中获取子倒排链表;
对获取的所有子倒排链表进行与归并,归并后的结果即为兴趣点检索的结果;
其中,该关键词扩展索引中记录了对应的倒排链表中的所有POI包含的各属性的编号及该属性在该倒排链表中的起始位置;
该倒排链表中记录了包含该关键词的所有POI的编号,这些编号是按照从小到大的顺序进行存储的,并且具有同种属性的POI的编号是连续存放在一起的,即在任一倒排链表中,任何一种属性及其所有子属性的POI编号都是连续存放在一起的。
具体地,所述接收兴趣点检索的请求之前,还包括:
对所有兴趣点按照属性进行编号,根据编号后的兴趣点建立所有关键词对应的倒排链表,其中,所述倒排链表中的兴趣点按照编号从小到大进行排序。
其中,所述对所有兴趣点按照属性进行编号,具体包括:
对兴趣点的属性进行遍历,按树的线性化对属性进行编号;
按照属性的编号顺序对所述所有兴趣点进行编号,其中,具有相同属性的兴趣点进行编号的顺序是自由的。
进一步地,所述对所有兴趣点按照属性进行编号,根据编号后的兴趣点建立所有关键词对应的倒排链表之后,还包括:
分别遍历所述关键词对应的倒排链表,记录所述倒排链表中的所有兴趣点包含的各属性的编号及所述属性在所述倒排链表中的起始位置,得到与所述关键词和倒排链表对应的关键词扩展索引。
另一方面,提供了一种兴趣点检索的装置,所述装置包括:
接收模块,用于接收兴趣点检索的请求,所述请求包括查询词和属性;
切分模块,用于将所述接收模块接收的查询词切分成对应的关键词;
第一获取模块,用于获取所述切分模块切分得到的每个关键词对应的关键词扩展索引和倒排链表;
第二获取模块,用于根据所述接收模块接收的属性在每个关键词对应的关键词扩展索引上进行查找,得到所述属性在所述倒排链表中的起始位置及长度;根据所述属性在所述倒排链表中的起始位置及长度,从所述关键词对应的倒排链表中获取子倒排链表;
归并模块,用于对所述第二获取模块获取的所有子倒排链表进行与归并,归并后的结果即为兴趣点检索的结果;
其中,该关键词扩展索引中记录了对应的倒排链表中的所有POI包含的各属性的编号及该属性在该倒排链表中的起始位置;
该倒排链表中记录了包含该关键词的所有POI的编号,这些编号是按照从小到大的顺序进行存储的,并且具有同种属性的POI的编号是连续存放在一起的,即在任一倒排链表中,任何一种属性及其所有子属性的POI编号都是连续存放在一起的。
具体地,所述接收模块之前,还包括:
第一创建模块,用于对所有兴趣点按照属性进行编号,根据编号后的兴趣点建立所有关键词对应的倒排链表,其中,所述倒排链表中的兴趣点按照编号从小到大进行排序。
其中,所述第一创建模块用于对所有兴趣点按照属性进行编号时,具体用于对兴趣点的属性进行遍历,按树的线性化对属性进行编号;按照属性的编号顺序对所述所有兴趣点进行编号,其中,具有相同属性的兴趣点进行编号的顺序是自由的。
进一步地,所述第一创建模块之后,还包括:
第二创建模块,用于分别遍历所述第一创建模块建立的所述关键词对应的倒排链表,记录所述倒排链表中的所有兴趣点包含的各属性的编号及所述属性在所述倒排链表中的起始位置,得到与所述关键词和倒排链表对应的关键词扩展索引。
本发明实施例提供的技术方案的有益效果是:
通过建立具有树形结构的倒排链表,根据属性和查询词在关键词扩展索引中找到属性对应的子倒排链表在倒排链表中的起始位置及长度,并从倒排链表中获取该子倒排链表,对其进行与归并得到检索结果,由于进行归并的各子倒排链表是从关键词对应的倒排链表中取出的一段与检索属性相匹配的子链表,对其进行归并时大大减小了归并的数量,增强了检索的性能,极大的提高了检索效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的POI检索的方法流程图;
图2是本发明实施例二提供的POI检索的方法流程图;
图3是本发明实施例二提供的树形倒排索引文件建立的方法流程图;
图4是本发明实施例二提供的行政区域编号的方法流程图;
图5是本发明实施例二提供的关键词扩展索引建立的方法流程图;
图6是本发明实施例三提供的第一种POI检索的装置示意图;
图7是本发明实施例三提供的第二种POI检索的装置示意图;
图8是本发明实施例三提供的第三种POI检索的装置示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种POI检索的方法,参见图1,方法流程具体如下:
101:接收兴趣点检索的请求,该请求包括查询词和属性;
102:将该查询词切分成对应的关键词;
103:获取每个关键词对应的关键词扩展索引和倒排链表;
104:根据每个关键词对应的关键词扩展索引和属性,从关键词对应的倒排链表中获取子倒排链表;
105:对获取的所有子倒排链表进行与归并,归并后的结果即为兴趣点检索的结果。
本发明实施例提供的方法,通过建立具有树形结构的倒排链表,根据属性和查询词在关键词扩展索引中找到属性对应的子倒排链表在倒排链表中的起始位置及长度,并从倒排链表中获取该子倒排链表,对其进行与归并得到检索结果,由于进行归并的各子倒排链表是从关键词对应的倒排链表中取出的一段与检索属性相匹配的子链表,对其进行归并时大大减小了归并的数量,增强了检索的性能,极大的提高了检索效率。
实施例二
本发明实施例提供了一种POI检索的方法,参见图2,方法流程具体如下:
201:接收POI检索的请求,该请求包括查询词和属性;
具体地,接收用户的POI检索的请求,本发明实施例不对用户输入查询词和属性的形式进行具体限定,如用户可以用(查询词+属性)的形式进行POI检索。
其中,检索的属性包括行政区域属性或类别属性等,且行政区域和POI类别都具有严格的树状结构。基于行政区域的检索叫做行政区域内检索,指给定一个行政区域及查询词,检索出这个行政区域及其所有子行政区域中,所有与查询词相匹配的POI记录;基于类别的检索叫做类别内检索,指给定一个POI类别及查询词,检索出这个POI类别及其所有子类别中,所有与查询词相匹配的POI记录。其中,POI类别表示各POI记录所属的种类,如“餐饮服务”、“风景名胜”或“公司企业”等。
由于行政区域内检索与类别内检索的解决方法十分一致,都是应用本发明实施例所提供的方法,因此下文仅以行政区域内检索为例进行说明,类别内检索和其它类似的基于树形倒排索引的应用同样适用于本方法,本发明实施例对此不做具体限定。
202:将请求中的查询词切分成对应的关键词;
具体地,以行政区域内检索为例,用户以(行政区域+查询词)的形式进行检索时,如果用户检索(深圳市+实验小学),可以将查询词“实验小学”切分成对应的关键词“实验”和“小学”。
203:获取每个关键词对应的关键词扩展索引和倒排链表;
其中,该关键词扩展索引中记录了对应的倒排链表中的所有POI包含的各属性的编号及该属性在该倒排链表中的起始位置。本发明实施例不对关键词扩展索引的存储方式进行具体限定,仅以采用有序数组进行存储的方式进行说明,还可以采用哈希表等其它存储方式。关键词扩展索引的有序数组中的各元素记录了属性的编号以及该属性在该倒排链表中的起始位置,还可以记录该属性在该倒排链表中的长度。并且该有序数组中的元素按照属性的编号从小到大进行排序。其中,该属性在该倒排链表中的长度可以不事先保存,而是简单的从下一个元素的起始位置与当前元素的起始位置相减而获得,本发明实施例对此不作具体限定。
具体地,该倒排链表中记录了包含该关键词的所有POI的编号,这些编号是按照从小到大的顺序进行存储的,并且具有同种属性的POI的编号是连续存放在一起的,即在任一倒排链表中,任何一种属性及其所有子属性的POI编号都是连续存放在一起的。
在本发明实施例中,关键词、关键词扩展索引及倒排链表合起来称为树形倒排索引文件。其中,以关键词为入口,关键词指向关键词扩展索引,该关键词扩展索引再指向倒排链表。
以行政区域内检索为例,关键词扩展索引的有序数组中的各元素记录了行政区域的编号以及该行政区域对应的子倒排链表在倒排链表中的起始位置及长度,并且该有序数组中的元素按照行政区域的编号从小到大进行排序。倒排链表中记录的POI的编号是按照从小到大的顺序进行存储的,且在任一倒排链表中,任何一个行政区域及其子行政区域的POI编号都是连续存放在一起的。
204:根据请求中的属性在每个关键词对应的关键词扩展索引上进行查找,得到该属性在倒排链表中的起始位置及长度;
具体地,根据请求中的属性在每个关键词对应的关键词扩展索引上进行查找的方式可以采用有序数组的二分查找法,也可以采用其它方式,本发明实施例对此不作具体限定。具体地,根据请求中的属性找到与该属性对应的编号后,通过二分查找法在关键词扩展索引中找出与该属性编号相一致的元素。通过该元素得到该属性在倒排链表中的起始位置及长度,该长度的获取方式既可以为从记录有该长度的元素中直接获取,也可以为从下一个元素的起始位置与当前元素的起始位置相减而获得,本发明实施例对此不作具体限定。
以行政区域内检索为例,根据请求中的行政区域的编号在关键词扩展索引上进行查找,通过二分查找法在关键词扩展索引中找出与用户指定行政区域的编号相一致的元素,此元素包含该行政区域对应的子倒排链表在倒排链表中的起始位置及长度等信息。
205:根据该属性在倒排链表中的起始位置及长度,从关键词对应的倒排链表中获取子倒排链表;
其中,子倒排链表是倒排链表中与该属性对应的一段连续的子链表,根据该属性在倒排链表中的起始位置及长度得到。
具体地,以行政区域内检索为例,如果用户检索(深圳市+实验小学),我们可以在关键词“实验”和“小学”对应的包含全国范围内的POI编号的倒排链表中,根据深圳市对应的起始位置及长度,从倒排链表中取出只包含深圳市及市内各区的一段连续的子倒排链表。
206:对获取的所有子倒排链表进行与归并,归并后的结果即为兴趣点检索的结果。
其中,与归并可以找出各子倒排链表中共同出现的POI编号,根据该共同出现的POI编号得到最终与属性和查询词相匹配的所有记录。
具体地,以行政区域内检索为例,将上述步骤得到的与关键词“实验”和“小学”对应的两段只包含深圳市及市内各区的子倒排链表进行与归并,找出各子倒排链表中共同出现的POI编号,根据该共同出现的POI编号得到最终与(深圳市+实验小学)相匹配的所有记录。
进一步地,在用户进行POI检索之前,需要先建立树形倒排索引文件。为本发明实施例提供的方法建立的树形倒排索引文件具有明显的树状特性,参见图3,方法流程具体如下:
301:对POI的属性进行遍历,按树的线性化对属性进行编号;
其中,POI的属性包括行政区域或POI的类别等,它们都具有严格的树状结构。我们按深度优先来遍历属性树,按照遍历的访问顺序,对属性从0开始编号,直到所有节点遍历结束,完成对属性树的线性化编号。该编号具有的重要特性是任何一种属性及其所有子属性的编号都在一个连续的区间内。
具体地,以行政区域内检索为例,参见图4,“全国”是遍历过程中第一个被访问的结点,编号为0;“安徽省”是第二个被访问的结点,编号为1,以此类推,直到全国范围内的最后一个行政区域被遍历到。于是全国的行政区域都得到一个线性化编号,且它们是连续的。在这种编号下有一个重要特性,即任何一个行政区域及其所有子行政区域的编号都在一个连续的区间内。例如,“广东省”及其下面所有子行政区域编号范围是[101,150],“广州市”及其下面所有子行政区域编号范围是[102,110],特殊地,“全国”及其下面所有子行政区域编码范围是[0,N-1](N为全国范围内的所有行政区域数)。
302:按照属性的编号顺序对所有POI进行编号,其中,具有相同属性的POI进行编号的顺序是自由的;
其中,由于每个POI都具有相应的属性,并且每种属性都已经按照上述方式进行了编号,因此对POI重新编号,只需要根据POI的属性,按照属性的编号的先后顺序对POI进行编号即可,其中,对具有相同属性的POI进行编号时,POI之间编号的先后顺序是自由的。由此得到的POI编号具有的重要特性是任何一种属性及其所有子属性对应的POI编号都在一个连续的区间内,且属性编号较小的POI排在前面,属性编号较大的POI排在后面。
具体地,以行政区域内检索为例,先对行政区域编号为0的n个POI进行编号,POI(a)的编号为0,POI(b)的编号为1,……,POI(n)的编号为n-1,然后对行政区域编号为1的POI进行编号,POI(n+1)的编号为n,POI(n+2)的编号为n+1,以此类推,直到所有POI编号完毕。其中,相同行政区域内的POI进行编号时,POI之间编号的先后顺序是自由的,如对政区域编号为0的POI进行编号时,不对POI(a)、POI(b),……,POI(n)的编号的先后顺序进行限定,还可以使POI(b)的编号为0,POI(n)的编号为1,……,POI(a)的编号为n-1。由此得到的POI编号具有的重要特性是任何一个行政区域及其所有子行政区域对应的POI编号都在一个连续的区间内,且行政区域编号为0的POI排在最前面(即编号较小),行政区域编号为1的POI紧随其后(即编号较大),以此类推。
303:完成对所有POI进行编号后,根据编号后的POI建立所有关键词对应的倒排链表;
具体地,根据编号后的POI建立所有关键词对应的倒排链表时,把编号后的POI记录的文本信息切分成若干个关键词(term),如term1、term2、term3、……、termN。以关键词为入口,每个关键词对应一条倒排链表,链表里记录了出现这个关键词的所有POI的编号,并且POI编号是从小到大进行排序的。由于POI是根据属性树的线性化编号进行编号的,使POI的编号顺序具有更强的特性,即在任一条倒排链表中,任何一种属性及其所有子属性对应的POI编号都是连续存放在一起的,使倒排链表具有树形结构。
以行政区域内检索为例,参见图5,关键词termX对应的倒排链表(101,102,108,110,111,113,117,800)中,POI编号是从小到大进行排序的,且“广东省”及其所有子行政区域(如广州市、深圳市)对应的POI编号是连续存放在一起的,“广州市”及其所有子行政区域对应的POI编号也是连续存放在一起的。
304:根据关键词对应的倒排链表得到对应的关键词扩展索引。
其中,分别遍历各关键词对应的倒排链表,将倒排链表中的所有兴趣点包含的各属性的编号及该属性在该倒排链表中的起始位置记录到关键词扩展索引中,得到与各关键词和倒排链表对应的关键词扩展索引。
具体地,本发明实施例不对关键词扩展索引的存储方式进行具体限定,仅以采用有序数组进行存储的方式进行说明,还可以采用哈希表等其它存储方式。关键词扩展索引的有序数组中的各元素记录了属性的编号以及该属性对应的子倒排链表在倒排链表中的起始位置及长度,并且该有序数组中的元素按照属性的编号从小到大进行排序。其中,子倒排链表的长度可以不事先保存,而是简单的从下一个元素的起始位置与当前元素的起始位置相减而获得。
在本发明实施例中,关键词、关键词扩展索引及倒排链表合起来称为树形倒排索引文件。其中,以关键词为入口,关键词指向关键词扩展索引,该关键词扩展索引再指向倒排链表。
以行政区域内检索为例,参见图5,关键词扩展索引的有序数组中的各元素记录了行政区域的编号以及该行政区域对应的子倒排链表在倒排链表中的起始位置及长度,例如元素A记录了全国范围内的POI在倒排链表中的起始位置及长度,元素B记录了广东省内的POI在倒排链表中的起始位置及长度,元素C记录了广州市内的POI在倒排链表中的起始位置及长度,元素D记录了深圳市内的POI在倒排链表中的起始位置及长度,以此类推。并且该有序数组中的元素按照行政区域的编号从小到大进行排序。
本发明实施例提供的方法,通过建立具有树形结构的倒排链表,根据属性和查询词在关键词扩展索引中找到属性对应的子倒排链表在倒排链表中的起始位置及长度,并从倒排链表中获取该子倒排链表,对其进行与归并得到检索结果,由于进行归并的各子倒排链表是从关键词对应的倒排链表中取出的一段与检索属性相匹配的子链表,对其进行归并时大大减小了归并的数量,增强了检索的性能,极大的提高了检索效率。
实施例三
本发明实施例提供了一种POI检索的装置,参见图6,该装置包括:
接收模块601,用于接收POI检索的请求,该请求包括查询词和属性;
切分模块602,用于将接收模块601接收的查询词切分成对应的关键词;
第一获取模块603,用于获取切分模块602切分得到的每个关键词对应的关键词扩展索引和倒排链表;
第二获取模块604,用于根据第一获取模块603获取的每个关键词对应的关键词扩展索引和属性,从关键词对应的倒排链表中获取子倒排链表;
归并模块605,用于对第二获取模块604获取的所有子倒排链表进行与归并,归并后的结果即为POI检索的结果。
其中,第二获取模块604,具体用于根据接收模块601接收的属性在每个关键词对应的关键词扩展索引上进行查找,得到该属性在倒排链表中的起始位置及长度;根据该属性在倒排链表中的起始位置及长度,从关键词对应的倒排链表中获取子倒排链表。
具体地,参见图7,接收模块601之前,还包括:
第一创建模块606,用于对所有POI按照属性进行编号,根据编号后的POI建立所有关键词对应的倒排链表,其中,该倒排链表中的POI按照编号从小到大进行排序。
其中,第一创建模块606用于对所有POI按照属性进行编号时,具体用于对POI的属性进行遍历,按树的线性化对属性进行编号;按照属性的编号顺序对所有POI进行编号,其中,具有相同属性的POI进行编号的顺序是自由的。
进一步地,参见图8,第一创建模块606之后,还包括:
第二创建模块607,用于分别遍历第一创建模块606建立的关键词对应的倒排链表,记录倒排链表中的所有POI包含的各属性的编号及该属性在倒排链表中的起始位置,得到与关键词和倒排链表对应的关键词扩展索引。
综上所述,本发明实施例通过建立具有树形结构的倒排链表,根据属性和查询词在关键词扩展索引中找到属性对应的子倒排链表在倒排链表中的起始位置及长度,并从倒排链表中获取该子倒排链表,对其进行与归并得到检索结果,由于进行归并的各子倒排链表是从关键词对应的倒排链表中取出的一段与检索属性相匹配的子链表,对其进行归并时大大减小了归并的数量,增强了检索的性能,极大的提高了检索效率。
需要说明的是:上述实施例提供的POI检索的装置在进行POI检索时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的POI检索的装置与POI检索的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本发明实施例中的全部或部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种兴趣点检索的方法,其特征在于,所述方法包括:
接收兴趣点检索的请求,所述请求包括查询词和属性;
将所述查询词切分成对应的关键词;
获取每个关键词对应的关键词扩展索引和倒排链表;
根据所述属性在每个关键词对应的关键词扩展索引上进行查找,得到所述属性在所述倒排链表中的起始位置及长度;
根据所述属性在所述倒排链表中的起始位置及长度,从所述关键词对应的倒排链表中获取子倒排链表;
对获取的所有子倒排链表进行与归并,归并后的结果即为兴趣点检索的结果;
其中,该关键词扩展索引中记录了对应的倒排链表中的所有兴趣点包含的各属性的编号及该属性在该倒排链表中的起始位置;
该倒排链表中记录了包含该关键词的所有兴趣点的编号,这些编号是按照从小到大的顺序进行存储的,并且具有同种属性的兴趣点的编号是连续存放在一起的,即在任一倒排链表中,任何一种属性及其所有子属性的兴趣点编号都是连续存放在一起的。
2.根据权利要求1所述的方法,其特征在于,所述接收兴趣点检索的请求之前,还包括:
对所有兴趣点按照属性进行编号,根据编号后的兴趣点建立所有关键词对应的倒排链表,其中,所述倒排链表中的兴趣点按照编号从小到大进行排序。
3.根据权利要求2所述的方法,其特征在于,所述对所有兴趣点按照属性进行编号,具体包括:
对兴趣点的属性进行遍历,按树的线性化对属性进行编号;
按照属性的编号顺序对所述所有兴趣点进行编号,其中,具有相同属性的兴趣点进行编号的顺序是自由的。
4.根据权利要求2所述的方法,其特征在于,所述对所有兴趣点按照属性进行编号,根据编号后的兴趣点建立所有关键词对应的倒排链表之后,还包括:
分别遍历所述关键词对应的倒排链表,记录所述倒排链表中的所有兴趣点包含的各属性的编号及所述属性在所述倒排链表中的起始位置,得到与所述关键词和倒排链表对应的关键词扩展索引。
5.一种兴趣点检索的装置,其特征在于,所述装置包括:
接收模块,用于接收兴趣点检索的请求,所述请求包括查询词和属性;
切分模块,用于将所述接收模块接收的查询词切分成对应的关键词;
第一获取模块,用于获取所述切分模块切分得到的每个关键词对应的关键词扩展索引和倒排链表;
第二获取模块,用于根据所述接收模块接收的属性在每个关键词对应的关键词扩展索引上进行查找,得到所述属性在所述倒排链表中的起始位置及长度;根据所述属性在所述倒排链表中的起始位置及长度,从所述关键词对应的倒排链表中获取子倒排链表;
归并模块,用于对所述第二获取模块获取的所有子倒排链表进行与归并,归并后的结果即为兴趣点检索的结果;
其中,该关键词扩展索引中记录了对应的倒排链表中的所有兴趣点包含的各属性的编号及该属性在该倒排链表中的起始位置;
该倒排链表中记录了包含该关键词的所有兴趣点的编号,这些编号是按照从小到大的顺序进行存储的,并且具有同种属性的兴趣点的编号是连续存放在一起的,即在任一倒排链表中,任何一种属性及其所有子属性的兴趣点编号都是连续存放在一起的。
6.根据权利要求5所述的装置,其特征在于,所述接收模块之前,还包括:
第一创建模块,用于对所有兴趣点按照属性进行编号,根据编号后的兴趣点建立所有关键词对应的倒排链表,其中,所述倒排链表中的兴趣点按照编号从小到大进行排序。
7.根据权利要求6所述的装置,其特征在于,所述第一创建模块用于对所有兴趣点按照属性进行编号时,具体用于对兴趣点的属性进行遍历,按树的线性化对属性进行编号;按照属性的编号顺序对所述所有兴趣点进行编号,其中,具有相同属性的兴趣点进行编号的顺序是自由的。
8.根据权利要求6所述的装置,其特征在于,所述第一创建模块之后,还包括:
第二创建模块,用于分别遍历所述第一创建模块建立的所述关键词对应的倒排链表,记录所述倒排链表中的所有兴趣点包含的各属性的编号及所述属性在所述倒排链表中的起始位置,得到与所述关键词和倒排链表对应的关键词扩展索引。
CN201010529311.9A 2010-10-28 2010-10-28 兴趣点检索的方法及装置 Active CN102456055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010529311.9A CN102456055B (zh) 2010-10-28 2010-10-28 兴趣点检索的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010529311.9A CN102456055B (zh) 2010-10-28 2010-10-28 兴趣点检索的方法及装置

Publications (2)

Publication Number Publication Date
CN102456055A CN102456055A (zh) 2012-05-16
CN102456055B true CN102456055B (zh) 2014-11-12

Family

ID=46039252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010529311.9A Active CN102456055B (zh) 2010-10-28 2010-10-28 兴趣点检索的方法及装置

Country Status (1)

Country Link
CN (1) CN102456055B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885950B (zh) * 2012-12-19 2017-07-28 高德软件有限公司 一种获取缩略词与poi间对应关系的方法和装置
US9753965B2 (en) 2013-03-15 2017-09-05 Factual Inc. Apparatus, systems, and methods for providing location information
CN104376013A (zh) * 2013-08-12 2015-02-25 北京千橡网景科技发展有限公司 用于检索与用户相关联的数据的方法和设备
CN103473290B (zh) * 2013-08-30 2017-10-31 百度在线网络技术(北京)有限公司 兴趣点的属性数据的处理方法及装置
CN104679787B (zh) * 2013-11-27 2021-01-01 华为技术有限公司 兴趣信息的统计方法及装置
CN105224624A (zh) * 2015-09-22 2016-01-06 广州神马移动信息科技有限公司 一种实现倒排链快速归并的方法和装置
CN110019645B (zh) * 2017-09-28 2022-04-19 北京搜狗科技发展有限公司 索引库构建方法、搜索方法及装置
CN110399566B (zh) * 2018-04-20 2024-06-07 北京搜狗科技发展有限公司 一种位置搜索方法、装置和电子设备
CN109063215B (zh) * 2018-10-16 2020-10-30 成都四方伟业软件股份有限公司 数据检索方法及装置
CN110442702B (zh) * 2019-08-15 2022-09-02 北京上格云技术有限公司 搜索方法、装置、可读存储介质和电子设备
CN111949610B (zh) * 2020-09-18 2022-12-23 苏州浪潮智能科技有限公司 一种基于ai训练平台的海量文件检索方法、装置及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100433005C (zh) * 2005-11-28 2008-11-12 腾讯科技(深圳)有限公司 搜索***索引切换的方法及搜索***
US20070214148A1 (en) * 2006-03-09 2007-09-13 Bodin William K Invoking content management directives
CN100507451C (zh) * 2006-09-27 2009-07-01 江苏华科导航科技有限公司 用于卫星导航的电子地图关键词检索方法及其装置
CN101324439B (zh) * 2008-07-29 2011-01-05 江苏华科导航科技有限公司 能对兴趣点进行检索的导航装置及其检索兴趣点的方法
CN101840406B (zh) * 2009-03-20 2015-10-14 富士通株式会社 地名搜索装置和***
CN101833588B (zh) * 2010-06-21 2012-06-20 北京大学 一种xml文档索引结构

Also Published As

Publication number Publication date
CN102456055A (zh) 2012-05-16

Similar Documents

Publication Publication Date Title
CN102456055B (zh) 兴趣点检索的方法及装置
CN102467521B (zh) 一种易扩展的多级分类检索方法及***
CN102033954B (zh) 关系数据库中可扩展标记语言文档全文检索查询索引方法
CN101840400B (zh) 一种多级分类检索方法及***
CN103631909B (zh) 对大规模结构化和非结构化数据联合处理的***及方法
CN102332030A (zh) 用于分布式键-值存储***的数据存储、管理和查询方法及***
CN103631910A (zh) 一种分布式数据库多列复合查询的***及方法
CN105912687B (zh) 海量分布式数据库存储单元
US20080114733A1 (en) User-structured data table indexing
CN103605752A (zh) 一种基于语义识别的地址匹配方法
WO2007095619A2 (en) Systems and methods for indexing and searching data records based on distance metrics
CN101673307A (zh) 空间数据索引方法及***
Zhong et al. Location-aware instant search
CN103390015A (zh) 基于统一索引的海量数据联合存储方法及检索方法
CN102193983B (zh) 图形数据库基于关系路径的节点数据过滤方法
US20070271228A1 (en) Documentary search procedure in a distributed system
CN107766433A (zh) 一种基于Geo‑BTree的范围查询方法及装置
CN111522892B (zh) 地理要素的检索方法及装置
CN106227788A (zh) 一种以Lucene为基础的数据库查询方法
CN102411580A (zh) 可扩展标记语言文档的检索方法及装置
CN104268158A (zh) 一种结构化数据分布式索引及检索方法
CN101256579A (zh) 一种数据库范围查询数据组织的方法
CN102831224A (zh) 一种数据索引库的建立方法、搜索建议生成方法和装置
CN101963993B (zh) 一种数据库单表记录快速查找的方法
EP2783308B1 (en) Full text search based on interwoven string tokens

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151222

Address after: The South Road in Guangdong province Shenzhen city Fiyta building 518057 floor 5-10 Nanshan District high tech Zone

Patentee after: Shenzhen Tencent Computer System Co., Ltd.

Address before: 518000 Guangdong city of Shenzhen province Futian District SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.