[发明专利]一种处理文档的方法及装置有效
申请号: | 201310567401.0 | 申请日: | 2013-11-13 |
公开(公告)号: | CN104636384B | 公开(公告)日: | 2019-07-16 |
发明(设计)人: | 施腾飞;王中飞 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/953 | 分类号: | G06F16/953;G06F16/33 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 蒋雅洁;张颖玲 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 文档 方法 装置 | ||
1.一种处理文档的方法,其特征在于,包括:
对文档中的词语进行抽取处理,获得顺排信息,所述顺排信息包括文档编号以及所述文档中的各个词语的编号,其中,每个词语的编号对应一棵B+树的倒排索引,所述倒排索引用于通过一个词语编号定位一个内部文档编号集,所述内部文档编号集中对应的每篇文档包括所述词语编号对应的词语;
为所述文档分配内部文档编号;
依次获取所述顺排信息中的第一词语的编号,所述第一词语为所述各个词语中的任一词语;
将所述内部文档编号插入到所述第一词语的编号对应的B+树的叶子节点中;
将所述各个词语的编号以及所述内部文档编号的对应关系保存在数据库中。
2.根据权利要求1所述的方法,其特征在于,所述对文档中的词语进行抽取处理,获得顺排信息,包括:
离线下载新网页,获得对应的文档;
根据所述文档的网址,获得所述文档编号;
对所述文档中的词语进行抽取处理,获得各个词语;
根据所述各个词语,获得所述各个词语的编号;
根据所述文档编号以及所述各个词语的编号,获得顺排信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述文档的网址,获得所述文档编号,包括:
根据所述文档的网址,计算所述文档的消息摘要算法第5版MD5值,并将所述文档的MD5值作为所述文档编号;
所述根据所述各个词语,获得所述各个词语的编号,包括:
根据所述各个词语,计算所述各个词语的MD5值,并将所述各个词语的MD5值作为所述各个词语的编号。
4.根据权利要求1所述的方法,其特征在于,所述内部文档编号为根据一个初始化为0的全局变量获得的编号,当一个文档需要保存到数据库时,分配当前的全局变量为所述文档的内部文档编号,然后所述全局变量增加1。
5.根据权利要求4所述的方法,其特征在于,在为所述文档分配内部文档编号之后,还包括:
建立并保存所述内部文档编号到所述文档编号的映射关系。
6.根据权利要求5所述的方法,其特征在于,所述保存所述文档编号到所述内部文档编号的映射关系,包括:
采用连续的内存空间存储所述文档编号到所述内部文档编号的映射关系。
7.根据权利要求1所述的方法,其特征在于,所述将所述内部文档编号插入到所述第一词语的编号对应的B+树的叶子节点中,包括:
判断所述第一词语的编号对应的B+树的叶子节点是否已满;
当所述B+树的叶子节点未满时,直接在当前叶子节点中添加所述内部文档编号;
当所述B+树的叶子节点已满时,判断当前层叶子节点是否已满;
当所述当前层叶子节点未满时,添加新的叶子节点,并在所述新的叶子节点中添加所述内部文档编号;
当所述当前层叶子节点已满时,对所述B+树增加一层,并添加新的中间节点以及新叶子节点,并在所述新叶子节点中添加所述内部文档编号,所述新的中间节点连接所述当前层叶子节点以及所述新叶子节点。
8.根据权利要求1所述的方法,其特征在于,在所述将所述各个词语的编号以及所述内部文档编号的对应关系保存在数据库中之后,还包括:
对接收到的用户的查询字串进行预处理,获得所述查询字串中包括的各个词语的编号;
根据所述各个词语的编号,获取所述各个词语的编号对应的内部文档编号中相同的内部文档编号,将所述相同的内部文档编号作为目标内部文档编号;
根据内部文档编号到文档编号的映射关系,确定所述目标内部文档编号对应的文档编号,并输出所述文档编号对应的文档。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310567401.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:处理查询请求的方法及装置
- 下一篇:一种用于电脑的过热报警器