[发明专利]一种索引建立方法和系统、搜索方法和系统有效
申请号: | 201110335417.X | 申请日: | 2011-10-28 |
公开(公告)号: | CN103092844A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 刘元芳;周晓波 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 蒋雅洁;程立民 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 索引 建立 方法 系统 搜索 | ||
技术领域
本发明涉及文本搜索技术领域,尤其涉及一种索引建立方法和系统、搜索方法和系统。
背景技术
在搜索领域,建立倒排表作为文本搜索的索引,这几乎已成为业界的一种标准方法。随着基于位置服务(LBS,Location Based Service)的应用逐渐兴起,对空间索引的需求也越来越强烈。用户经常需要查询在一定距离范围的匹配结果。目前多采用空间索引与关键词索引分别建立的方法,相互过滤,即空间索引和关键词索引分别建立,搜索时,先在空间索引库里找到满足条件的结果,再在关键词索引库里找到满足条件的结果,最后进行结果的归并。现有技术的这种搜索方案,由于需要建立多个索引,并进行多次搜索,因此存在数据传输量大,计算量大的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种索引建立方法和系统、搜索方法和系统,以解决现有技术中的搜索方法存在的数据传输量大,计算量大的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种索引建立方法,该方法包括:
对每个输入样本中的样本关键词进行分词处理得到索引关键词;
根据每个输入样本中的地标值分别计算对应的排序因子;
以索引关键词为索引建立倒排表,所述倒排表中的各索引项包括与所述索引关键词相对应的排序因子和地标值,且在各索引项中,相同的排序因子所对应的地标值聚集在一起。
所述排序因子为空间索引与其他顺序影响因子的组合值,所述空间因子是根据所述地标值计算得到的,所述其他顺序影响因子根据具体业务需求确定。
ScoreVal=SpaceID+OhterVal/1000.0,SpaceID=X*100000+Y;
其中,ScoreVal表示所述排序因子,SpaceID表示所述空间因子,OhterVal表示所述其他顺序影响因子;X表示地标横坐标的公里值,小数部分向下取整;Y表示地标纵坐标的公里值,小数部分向下取整。
本发明还提供了一种索引建立系统,该系统包括:分词模块、排序因子计算模块和倒排表建立模块,其中,
所述分词模块,用于对每个输入样本中的样本关键词进行分词处理得到索引关键词;
所述排序因子计算模块,用于根据每个输入样本中的地标值分别计算对应的排序因子;
所述倒排表建立模块,用于以索引关键词为索引建立倒排表,所述倒排表中的各索引项包括与所述索引关键词相对应的排序因子和地标值,且在各索引项中,将相同的排序因子所对应的地标值聚集在一起。
所述排序因子计算模块进一步用于,将空间索引与其他顺序影响因子的组合值作为排序因子,
其中,所述空间因子由所述排序因子计算模块根据所述地标值计算得到,所述其他顺序影响因子由所述排序因子计算模块根据具体业务需求确定。
ScoreVal=SpaceID+OhterVal/1000.0,SpaceID=X*100000+Y;
其中,ScoreVal表示所述排序因子,SpaceID表示所述空间因子,OhterVal表示所述其他顺序影响因子;X表示地标横坐标的公里值,小数部分向下取整;Y表示地标纵坐标的公里值,小数部分向下取整。
本发明还提供了一种搜索方法,该方法包括:
对搜索请求中的搜索关键词进行分词处理得到搜索索引关键词;
根据搜索请求中的地标值和搜索半径计算对应的排序因子;
查找倒排表中与所述搜索索引关键词匹配的索引项中匹配所述排序因子的地标值作为搜索结果。
ScoreVal=((Xo+i)*100000)+Yo+j,
其中,ScoreVal表示排序因子;Xo表示搜索请求中的地标值的横坐标的公里值,小数部分向下取整;Yo表示搜索请求中的地标值的纵坐标的公里值,小数部分向下取整;n表示搜索半径,且-(n-1)≤i≤(n-1),j=-(n-1)或j=n-1。
在查找倒排表中与所述搜索索引关键词匹配的索引项中匹配所述排序因子的地标值作为搜索结果之后,该方法进一步包括:
去除搜索结果中的重复地标值。
本发明还提供了一种搜索系统,该系统包括:搜索分词模块、搜索排序因子计算模块和搜索模块,其中,
所述搜索分词模块,用于对搜索请求中的搜索关键词进行分词处理得到搜索索引关键词;
所述搜索排序因子计算模块,用于根据搜索请求中的地标值和搜索半径计算对应的排序因子;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110335417.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:带有升降装置的学生预防近视眼课桌椅
- 下一篇:机械指纹双保险锁