[发明专利]一种搜索方法和装置有效
申请号: | 201110461128.4 | 申请日: | 2011-12-30 |
公开(公告)号: | CN103186650A | 公开(公告)日: | 2013-07-03 |
发明(设计)人: | 简勤;郭正平;陈健骥;何丹;赖航;肖巍;郑长松;王全礼;杨俊拯 | 申请(专利权)人: | 中国移动通信集团四川有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王一斌;王琦 |
地址: | 610041 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 搜索 方法 装置 | ||
技术领域
本发明涉及数据业务技术领域,尤其涉及一种搜索方法和装置。
背景技术
现有的搜索引擎一般都是单方面基于文本相似度进行排序,索引的存储一般是基于键值对<KEY,DocList>的形式。其中,KEY表示关键字,DocList表示包含关键字KEY的文档列表。DocList中的每个元素是一个文档对象,用于存放一个文档的基本信息,例如:该文档的ID、该关键字KEY在该文档中出现的次数以及出现的位置等信息。当用户输入一个关键字之后,将先根据该关键字进行检索;当检索到相对应的关键字后,再整体计算与该关键字相对应的DocList中所有文档在此关键字下的得分;然后,依据上述得分对所有的搜索结果整体进行排序,再在排序后的搜索结果中读取用户所需条数的搜索结果,将读取的搜索结果返回给用户。
例如,现有技术中存在一种综合搜索结果的排序方法,在该方法中,将采用排序算法计算垂直搜索引擎的综合值,并根据综合直对该垂直搜索引擎进行排序,汇总所有垂直搜索引擎排序结果,生成最终的搜索结果。
但是,上述排序方法是将搜索结果得分的计算过程放在搜索过程中进行,且每次都是进行全量排序,从而对CPU和内存资源的占用量较大,搜索复杂度较高,搜索速度较慢,且没有考虑信息的附加价值属性,因而无法保证价值高的信息排序一定靠前。同时,由于该方法中需要存储得分计算依据的因子以及综合得分计算因子,从而对存储空间也有较高的要求。
此外,现有技术中还存在一种基于搜索引擎的搜索结果排序方法。在该方法中,主要是根据事先配置的网络资源权重,同时根据用户输入的关键字在资源中的文本权重,综合计算每条相关资源得分,然后进行全量排序,以生成搜索结果。但是,在该方法中,虽然考虑到信息的附加价值属性,但是在搜索过程中需要计算各文档得分,同时还需要对搜索的结果进行全量排序,从而对CPU和内存资源的占用量也较大,搜索复杂度也较高,搜索速度也较慢。同时,由于该方法中也需要存储得分计算依据的因子以及综合得分计算因子,从而对存储空间也有较高的要求
综上可知,在现有技术中的搜索方法中,由于文档得分的计算和排序都是放在搜索过程中完成,且是针对全量进行排序;而且,索引组织的结构也没有考虑用户的搜索习惯,造成存储的信息量较大;另外,每次搜索均需针对全量进行,从而大大增加了内存和CPU等系统稀缺资源的负担。同时,现有技术中的搜索方法的搜索复杂度一般都较高,搜索响应速度也较慢。此外,现有技术中的搜索方法中进行排序的依据是文本相关度,而并未考虑能表达信息价值的关键属性,因此导致排序方式单一、用户友好性不足等问题。
发明内容
有鉴于此,本发明提供了一种搜索方法和装置,从而可提高搜索速度,降低系统资源的占用。
本发明采用的技术方案具体是这样实现的:
一种搜索方法,该方法包括:
A、为同一类文档设置至少一个关键属性及相应的关键属性权重,并根据所述关键属性和关键属性权重计算各个文档的关键属性分值KFScore;
B、将全部待检索文档以词源Term为关键字进行索引,建立以Term为关键字索引、以包含该Term的文档的总数TotalCount和包含该Term的文档列表DocList为值的索引倒排表;所述文档列表中的每条记录中均包括一个文档的文档编号和关键属性分值;所述文档列表由有序列表和无序列表组成,所述有序列表中包括n个关键属性分值最大、且按关键属性分值从大到小顺序排列的记录;其中,所述n为预先确定的值;
C、根据用户输入的检索字符串生成相应的词源,根据所生成的词源对所述索引倒排表进行检索,并根据用户输入的搜索结果范围优先从所生成的词源对应的有序列表中获取记录,以得到所需的搜索结果和相关结果总数。
本发明中还提供了一种搜索装置,该搜索装置包括:倒排表生成模块、存储模块、词源生成模块和检索模块;
所述倒排表生成模块,用于将全部待检索文档以词源Term为关键字进行索引,建立以Term为关键字索引、以包含该Term的文档的总数TotalCount和包含该Term的文档列表DocList为值的索引倒排表;所述文档列表中的每条记录中均包括一个文档的文档编号和关键属性分值;所述文档列表由有序列表和无序列表组成,所述有序列表中包括n个关键属性分值最大、且按关键属性分值从大到小顺序排列的记录;其中,所述n为预先确定的值;将所述索引倒排表发送给存储模块;
所述存储模块,用于存储所述索引倒排表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团四川有限公司,未经中国移动通信集团四川有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110461128.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种海量数据存储及查询方法
- 下一篇:数据业务的推送方法和系统