[发明专利]一种索引建立方法及装置有效
申请号: | 201711069369.8 | 申请日: | 2017-11-03 |
公开(公告)号: | CN107784110B | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 谢永恒;张侠;火一莽;万月亮 | 申请(专利权)人: | 北京锐安科技有限公司 |
主分类号: | G06F16/31 | 分类号: | G06F16/31 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100044 北京市海淀区西小口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 索引 建立 方法 装置 | ||
本发明实施例公开了一种索引建立方法及装置,所述方法包括:提取目标文本的特征词;对所述特征词进行排序得到特征字符串;对所述特征字符串应用MinHash算法,得到所述目标文本对应的哈希值;查找映射缓存池中是否存在与所述哈希值匹配的索引映射桶,若存在,则在所述索引映射桶中建立所述哈希值与所述目标文本之间的索引;若所述映射缓存池中不存在与所述哈希值匹配的索引映射桶,建立与所述哈希值匹配的索引映射桶,并建立所述哈希值与所述目标文本之间的索引。本发明实施例提供的索引建立方法减少了索引存储量,通过将相似文本的索引建立在同一个索引映射桶中,实现了相似文本的分类,提高了相似文本的检索速度。
技术领域
本发明实施例涉及信息索引以及查询领域,尤其涉及一种索引建立方法及装置。
背景技术
近年来,随着互联网技术的迅速发展和普及,很多情况下我需要从海量数据中快速而准确地找到我们想要的数据,这一过程称为相似性搜索。
随着网络数据的急剧增加,搜索速度已经成为相似性搜索的一大瓶颈,因此,如何设计一个快速有效的索引结构,成为了大数据时代下相似性搜索的迫切需求。目前常用的索引技术一种为基于树形结构的索引,典型的有KD树。树形结构的索引采用了子空间划分的结构设计,通过将对象数据划分到若干个子空间中,每个子空间中包含相似的数据,在进行搜索时,只在某个子空间范围内进行搜索即可,在低维特征空间中有效提高了检索速度。但是当搜索对象的特征维数增大时,树形结构索引的效率大大降低,其效率与线性查找的时间复杂度相比几乎没有提高。另一种索引技术为基于传统的hash函数索引,例如md5,其原理为将原始内容尽量均匀地随机映射为一个签名,因此,即使原始内容只相差一个字节,则所产生的签名也很可能差别极大。若两个签名相等,则说明原始内容在一定概率下是相等的,如果不相等,除了说明原始内容不相等外,不再提供任何信息。因此基于传统的hash函数的索引技术不能通过比较签名的相似度来确定原始内容之间的相似度,具备一定的局限性。
发明内容
本发明实施例提供了一种索引建立方法及装置,有效降低了索引数据的存储量,进而提高了检索速度。
第一方面,本发明实施例提供了一种索引建立方法,该方法包括:
提取目标文本的特征词;
对所述特征词进行排序得到特征字符串;
对所述特征字符串应用MinHash算法,得到所述目标文本对应的哈希值;
查找映射缓存池中是否存在与所述哈希值匹配的索引映射桶,若存在,则在所述索引映射桶中建立所述哈希值与所述目标文本之间的索引;
若所述映射缓存池中不存在与所述哈希值匹配的索引映射桶,建立与所述哈希值匹配的索引映射桶,并建立所述哈希值与所述目标文本之间的索引。
进一步地,在所述索引映射桶中建立所述哈希值与所述目标文本之间的索引,包括:
若所述索引映射桶中不存在与所述哈希值相同的索引哈希值,则将所述哈希值存入所述索引映射桶中,并建立所述哈希值与所述目标文本之间的索引;
若所述索引映射桶中已经存在与所述哈希值相同的索引哈希值,则不对所述哈希值进行再次保存,直接建立所述索引哈希值与所述目标文本之间的索引。
进一步地,所述方法还包括:
若所述映射缓存池中存在与所述哈希值匹配的索引映射桶,则将与所述哈希值对应的文本数据作为与所述目标文本相似的文本数据进行推荐。
进一步地,所述方法还包括:
随机确定N个哈希函数;
基于所述N个哈希函数对目标文本的特征字符串分别进行哈希运算,得到N个哈希值;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京锐安科技有限公司,未经北京锐安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711069369.8/2.html,转载请声明来源钻瓜专利网。