一种基于查询日志的数据处理方法和系统技术方案

技术编号:11756441 阅读:74 留言:0更新日期:2015-07-22 04:28
本申请提供一种基于查询日志的数据处理方法和系统。基于查询日志的数据处理方法包括:获取预定时间段搜索引擎的部分或全部的查询日志;对所述查询日志中查询请求的多元共现片段进行频次的统计;对每一多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;根据多元共现片段的元数及频次选取一个或一个以上多元共现片段;将选取的多元共现片段及其对应的查询结果存储起来。本申请基于查询日志的数据处理系统实施例,可以实现本申请基于查询日志的数据处理方法。利用本申请提供的数据处理方法和系统,可以提高存储内容的查询请求命中率,提升搜索引擎的性能。

【技术实现步骤摘要】

本专利技术涉及搜索领域,特别涉及一种基于查询日志的数据处理方法和系统
技术介绍
搜索引擎,可以借助互联网,对各种信息进行整理、筛选或归档等处理,以为用户提供预期得到的信息。很多情况下搜索条件会特别复杂,提供搜索服务要求搜索引擎具备更高的性能。一种提高性能的方式是通过对查询请求的相关数据进行处理来提高搜索引擎的每秒查询率(QPS,Query Per Second)。提高QPS的数据处理方法较常用的为查询语句预存法。提供搜索服务的搜索引擎,会收到很多客户端发来的查询请求。例如,客户端发起的查询请求中,查询内容为“中国人民大学”,这样的查询请求称为query。搜索引擎一般会将接收到的查询请求存储起来作为查询日志(query log)。对于查询日志中提出过频次相对较高的查询请求称为高频查询请求。该方法中,首先挖掘查询日志(query log)里面的高频查询请求。搜索引擎为了对此后收到的类似查询请求快速处理并反馈,从而将之前提出过的高频查询请求及其查询结果完整的存储起来。这样,当搜索引擎接收到同样的查询请求时,可以将前述查询对应的结果直接返回至客户端。在实现本申请过程中,专利技术人发现现有技术中至少存在如下问题:上述数据处理方法中,存储的是整个高频query,当再次接收到的查询请求与原来存储的高频查询请求仅有部分相同但不完全相同时,之前存储的高频查询请求及其对应的查询结果完全不能为新的查询请求的处理过程直接利用。例如存储了查询内容为“中国人民大学”的查询请求及对应的查询结果,当再次接收到的查询请求的内容为“中国人民”时,之前存储的内容为“中国人民大学”的查询请求及存储的对应查询结果应该可以作为查询请求内容为“中国人民”的部分结果。但是按照现有技术的方式,由于查询请求的内容不完全相同,导致搜索引擎不能直接利用“中国人民大学”的查询结果,而需要重新完整地执行查询过程。基于上述原因,存储的查询请求及其对应查询结果的命中率不高。
技术实现思路
本申请的目的是提供一种基于查询日志的存储方法,以实现提高存储内容的查询请求命中率。一种基于查询日志的数据处理方法,包括:获取预定时间段中搜索引擎的部分或全部的查询日志;对所述查询日志中的查询请求的多元共现片段频次进行统计;对于每一多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;根据多元共现片段的元数及频次选取一个或一个以上多元共现片段;将选取的多元共现片段及其对应的查询结果存储起来。优选方案中,所述对多元共现片段频次进行统计,包括:对每一查询请求设置一个标识,利用所述标识统计每一共现片段在查询日志的查询请求中出现的频次;所述的标识具有唯一性。优选方案中,利用标识统计每一共现片段在查询日志的查询请求中出现的频次包括:对于每个查询请求,输出每个查询请求中多元共现片段和该查询请求的标识组成的键值对;将内容相同的η元共现片段的键值对进行合并,并利用所述标识统计每一 η元共现片段的频次;所述η为整数,2 < η < N,所述N为查询日志中查询请求的多元共现片段的最大片段元数。优选方案中,所述对每一查询请求设置一个标识,包括:计算每一查询请求的信息-摘要算法5的值或者安全散列算法的值或RACE原始完整性校验消息摘要的值,将计算得到的值设置为该查询请求的标识。优选方案中,对所述多元共现片段的频次进行修正,包括:对元数小于N的多元共现片段的频次进行修正,所述N为查询日志中查询请求的多元共现片段的最大片段元数。优选方案中,对于所述多元共现片段的频次进行修正,包括:按照元数从高到低的顺序依次对元数小于N的多元共现片段的频次进行修正,所述N为查询日志中查询请求的多元共现片段的最大片段元数。优选方案中,对所述多元共现片段的频次进行修正,包括:将统计的k元共现片段的频次减去包含k元共现片段内容的k+Ι元共现片段的频次,作为k元共现片段修正后的频次;所述k为整数,2彡k彡(N-1),所述N为查询日志中查询请求的多元共现片段的最大片段元数。优选方案中,所述根据多元共现片段的元数及频次选取一个或一个以上多元共现片段,包括:根据第一预设值,将共现片段的元数小于或等于所述第一预设值的设置为低元共现片段,将共现片段的元数大于所述第一预设值的设置为高元共现片段;根据共现片段的元数及频次选取所述低元共现片段和高元共现片段。优选方案中,所述根据共现片段的元数及频次选取低元共现片段和高元共现片段,包括:选取所述高元共现片段;采用下列方式A-C中的一种或几种的组合选取所述低元共现片段:A:对共现片段的频次设置一个阈值进行过滤;当共现片段的频次大于或者等于设置的阈值时,该共现片段被选中;B:设定在低元共现片段中需要选取的总数目P,将所有的低元共现片段按照频次进行降序排列,然后选取排列的共现片段中前面的P个多元共现片段;所述P为正整数,P的取值小于低元共现片段的总个数;C:按照共现片段元数的不同,分别进行排序,排序后再分别选取每个元数的共现片段中排在前q%的共现片段,所述q的范围包括:0〈q〈100。优选方案中,所述将选取的多元共现片段及其查询结果存储起来,包括:将选取的多元共现片段及其查询结果存放在内存中或高速缓冲存储器中;或,对选取的多元共现片段建立倒排索引,产生倒排列表,将所述倒排列表及共现片段的查询结果存放在相同的或者不同的存储器中,所述的存储器包括内存、高速缓冲存储器、磁盘。优选方案中,所述查询日志中查询请求的多元共现片段的最大片段元数的确定方法,包括:将查询日志中每个查询请求中检索词和检索条件的总个数作为每个查询请求对应的最小粒度的片段数,将最小粒度的片段数中的最大值作为多元共现片段的最大片段元数。—种基于查询日志的数据处理系统,包括:查询日志获取模块、共现片段频次统计模块、共现片段频次修正模块、多元共现片段选取模块和存储模块;其中,所述查询日志获取模块,用于获取预定时间段搜索引擎的部分或全部的查询日志;所述共现片段频次统计模块,用于对所述查询日志中查询请求的多元共现片段的频次进行统计;所述共现片段频次修正模块,用于对共现片段频次统计模块中每一统计好频次的多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;所述多元共现片段选取模块,用于对共现片段频次修正模块得到的多元共现片段根据多元共现片段的元数和频次选取一个或一个以上多元共现片段;所述存储模块,用于将多元共现片段选取模块选取的多元共现片段及其对应的查询结果存储起来。优选方案中,所述多元共现片段频次统计模块包括:标识设置模块、频次计数模块;所述标识设置模块,用于对每一查询请求设置标识,所述的标识具有唯一性;所述频次计数模块,用于根据所述标识统计各个共现片段出现的频次。优选方案中,所述多元共现片段的元数小于N,所述N为查询日志中查询请求的多元共现片段的最大片段元数。优选方案中,所述多元共现片段频次修正模块包括:排序模块、减法模块;所述排序模块,用于将元数小于N的多元共现片段按照元数从高到低的顺序进行排列,并依次输入到减法模块中进行处理;所述减法模块,用于将统计的k元共现片段的频次减去包含k元共现片段内容的k+Ι元共现片段的频次,作为k元共现片段修本文档来自技高网
...
一种基于查询日志的数据处理方法和系统

【技术保护点】
一种基于查询日志的数据处理方法,其特征在于,包括:获取预定时间段中搜索引擎的部分或全部的查询日志;对所述查询日志中的查询请求的多元共现片段频次进行统计;对于每一多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;根据多元共现片段的元数及频次选取一个或一个以上多元共现片段;将选取的多元共现片段及其对应的查询结果存储起来。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨国东朱张斌李群
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1