一种对搜索结果进行排序的方法及装置制造方法及图纸

技术编号:7346098 阅读:233 留言:0更新日期:2012-05-18 02:22
本发明专利技术提供了一种对搜索结果进行排序的方法,首先对于每一个搜索项目生成子搜索策略矩阵,所述子搜索策略矩阵的每一行对应一个搜索策略层,不同搜索策略层的优先级权重值依次递增或递减,同一个搜索策略层搜索策略优先级相同;然后从所述子搜索策略矩阵每一个搜索策略层选取至少一个搜索策略组装成查询集合,将所述查询集合对所有被搜索到的文档根据搜索策略进行匹配,将文档得分乘以搜索策略对应的优先级权重值得到结果集对象;选取结果集对象,将所选取的结果集组装成完整的结果集。本发明专利技术方案通过将多种搜索策略生成搜索策略矩阵,对搜索结果集进行数据域的划分,然后对搜索结果集进行组装来保证搜索结果集排序的精确性。

【技术实现步骤摘要】

本专利技术涉及计算机互联网
,特别涉及搜索引擎技术,尤其涉及一种对搜索结果进行排序的方法及装置
技术介绍
目前常用的搜索引擎排序方式一般依据对搜索关键词在文档中的相关度进行综合打分,根据该分值对搜索到的文档集进行排序。以Iucene排序方式为例,文档得分有一个具体的计算公式,影响打分的因素有搜索关键字词频、每个文档的长度及搜索关键字出现在所有文档中的覆盖率等。文档综合打分排序方式由于文档之间分数差距比较小,很难达到按策略层次精确排序的要求;文档综合打分没有将实时的数据作为参数考虑进去,比如用户的点击量,从而不能实时为用户呈现实时排序的结果集。垂直搜索是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。垂直搜索引擎的应用方向很多,比如企业库搜索、供求信息搜索、购物搜索、 房产搜索、人才搜索、地图搜索、音乐搜索、图片搜索等等。相比较通用搜索引擎的海量信息无序化,垂直搜索引擎则显得更加专注、具体和深入。垂直搜索对搜索的结果排序方式要求要比普通的综合搜索引擎高,体现在1.搜索结果要求更精确,需要按照多种搜索策略进行精确排序;2.搜索结果实时性排序,需要按照多种外在实时排序因子数据进行实时排序体现结果的实时性变化。因此,现有的搜索结果排序方式很难满足垂直搜索的需求。
技术实现思路
本专利技术提供了一种对搜索结果进行排序的方法及装置,能够依据多种搜索策略对搜索结果进行精确排序,并且能够体现出搜索结果的实时性变化。本专利技术实施例提出的一种对搜索结果进行排序的方法,包括如下步骤A、对于每一个搜索项目,从NXN的搜索策略库矩阵中抽取出MXN的子搜索策略矩阵,所述子搜索策略矩阵的每一行对应一个搜索策略层,且从第1行至第M行对应的搜索策略层的优先级权重值依次递增或递减,同一个搜索策略层的N个搜索策略优先级相同;M 和N为大于1的自然数,且M彡N;B、从所述子搜索策略矩阵每一个搜索策略层选取至少一个搜索策略组装成查询集合,将所述查询集合对所有被搜索到的文档根据搜索策略进行匹配,将得到的文档得分乘以搜索策略对应的优先级权重值得到文档总体得分;每一个文档总体得分作为一个结果集对象;C、生成M个数据块,每个数据块对应至少一个结果集对象,将所有的结果集对象存放到一个数组里面,每个数据块里面包含了该数据域的范围信息即数组的两个上下标;D、从各个数据块中选取结果集对象,将所选取的结果集组装成完整的结果集。较佳地,所述区域值参数为上标m和下标n,m和η均为自然数且η > m,所述步骤 D包括D1、将m和η顺序与各个数据块中记录的上下坐标进行比较定位数据块;D2、判断m和η是否在同一个数据块中,若是转至步骤D7,否则执行步骤D3 ;D3、以上标m所在的数据块为第1个数据块,以下标η所在的数据块作为最后1个数据块,取出所述第1个数据块中从上标m对应的结果集对象到该数据块的最后一个结果集对象组成的结果集对象子集;判断上标m至下标η之间的数据块个数是否大于2,如果大于2则转步骤D5,否则执行步骤D4 D4、取出第1个数据块和最后1个数据块之间的所有数据块的所有结果子集;D5、取出最后1个数据块中第1个结果集对象到下标η对应的结果集对象组成的上部数据子集;D6、将取出的结果集对象进行顺序合并作为当前结果集;D7、返回当前结果集。较佳地,所述步骤D之后,进一步包括将收集到的实时数据作为外在排序因子生成排序因子矩阵,排序因子矩阵的每一行对应子搜索策略矩阵的一个搜索策略层;定位要排序的数据块及块内区域,根据所述排序因子矩阵对要排序的数据块的块内区域进行排序;将排序后的数据块中选取结果集对象,将所选取的结果集组装成完整的结果集。本专利技术实施例还提出一种对搜索结果进行排序的装置,包括搜索策略矩阵生成模块,用于对于每一个搜索项目,从NXN的搜索策略库矩阵中抽取出MXN的子搜索策略矩阵,所述子搜索策略矩阵的每一行对应一个搜索策略层,且从第1行至第M行对应的搜索策略层的优先级依次递增或递减,同一个搜索策略层的N个搜索策略优先级相同;M和N为大于1的自然数,且M < N ;结果集对象模块,从所述子搜索策略矩阵每一个搜索策略层选取至少一个搜索策略组装成查询集合,将所述查询集合对所有被搜索到的文档根据搜索策略进行匹配,将得到的文档得分乘以搜索策略对应的优先级权重值得到文档总体得分;每一个文档总体得分作为一个结果集对象;数据块划分模块,用于生成M个数据块,每个数据块对应至少一个结果集对象,将所有的结果集对象存放到一个数组里面,每个数据块里面包含了该数据域的范围信息即数组的两个上下标;组装模块,用于从各个数据块中选取结果集对象,将所选取的结果集组装成完整的结果集。较佳地,该装置进一步包括外在排序因子单元,用于将收集到的实时数据作为外在排序因子生成排序因子矩阵,排序因子矩阵的每一行对应子搜索策略矩阵的一个搜索策略层;块内排序单元,定位要排序的数据块及块内区域,根据所述排序因子矩阵对要排序的数据块的块内区域进行排序;数据集二次组装单元,用于将块内排序单元排序后的数据块中选取结果集对象, 将所选取的结果集组装成完整的结果集。从以上技术方案可以看出,通过将多种搜索策略生成搜索策略矩阵,对搜索结果集进行数据域的划分,然后对搜索结果集进行组装来保证搜索结果集排序的精确性,同时考虑用户点击量等实时数据加入排序权重通过块内二次排序来保证结果集排序的实时性。 此外,本专利技术方案还将搜索规则插件化,易于对排序因子进行扩展。附图说明图1为本专利技术实施例方案的基本流程示意图;图2为本专利技术实施例提出的对搜索结果进行排序的装置的框图;图3为搜索策略矩阵的一个示意图;图4为本专利技术的一个具体实施例中对音乐搜索所使用的子搜索策略矩阵的示意图;图5为数据块与结果集对象的对应关系示意图;图6为组装模块205的工作原理示意图;图7为组装完成的结果集的工作流程图;图8为排序因子矩阵的一个示意图;图9为块内排序的工作流程图。具体实施例方式本专利技术技术方案对多种搜索策略进行分层,对每层搜索策略进行块内排序,从而实现根据优先级别生成一个搜索策略矩阵,此外,将各种实时的排序因子以插件化的形式加入排序策略中,实现搜索结果集排序的实时性。图1所示为本专利技术实施例方案的基本流程,包括如下步骤步骤101 生成搜索策略矩阵根据搜索业务的需求选择多于一个的搜索策略,依据优先级别将所选择的搜索策略生成一个策略矩阵。步骤102 搜索结果块划分根据搜索策略矩阵的行数来划分,每一行对应一个搜索结果子集。步骤103 搜索结果块内排序根据搜索策略矩阵的统一级别的搜索策略进行块内排序;步骤104 生成搜索排序因子矩阵将实时得到的数据(例如用户搜索频率、点击率)当作排序的因素对结果子集进行排序。步骤105 搜索结果子集组装根据返回结果个数范围的要求从各个模块选取一定数量的结果子集组装成符合要求的结果集。图2示出了本专利技术实施例提出的对搜索结果进行排序的装置的框图,该装置包括搜索策略矩阵生成模块201、结果集对象模块202、数据块划分模块203、实时排序模块204 和组装模块205。所述搜索策略矩阵生成模块201用于生成搜索策略矩阵,所述搜本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:王全礼肖巍郑长松杨俊拯
申请(专利权)人:中国移动通信集团四川有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术