一种基于查询日志的数据处理方法和系统的制作方法

文档序号:8472963阅读:175来源:国知局
一种基于查询日志的数据处理方法和系统的制作方法
【技术领域】
[0001]本发明涉及搜索领域,特别涉及一种基于查询日志的数据处理方法和系统。
【背景技术】
[0002]搜索引擎,可以借助互联网,对各种信息进行整理、筛选或归档等处理,以为用户提供预期得到的信息。
[0003]很多情况下搜索条件会特别复杂,提供搜索服务要求搜索引擎具备更高的性能。一种提高性能的方式是通过对查询请求的相关数据进行处理来提高搜索引擎的每秒查询率(QPS,Query Per Second)。
[0004]提高QPS的数据处理方法较常用的为查询语句预存法。提供搜索服务的搜索引擎,会收到很多客户端发来的查询请求。例如,客户端发起的查询请求中,查询内容为“中国人民大学”,这样的查询请求称为query。搜索引擎一般会将接收到的查询请求存储起来作为查询日志(query log)。对于查询日志中提出过频次相对较高的查询请求称为高频查询请求。该方法中,首先挖掘查询日志(query log)里面的高频查询请求。搜索引擎为了对此后收到的类似查询请求快速处理并反馈,从而将之前提出过的高频查询请求及其查询结果完整的存储起来。这样,当搜索引擎接收到同样的查询请求时,可以将前述查询对应的结果直接返回至客户端。
[0005]在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
[0006]上述数据处理方法中,存储的是整个高频query,当再次接收到的查询请求与原来存储的高频查询请求仅有部分相同但不完全相同时,之前存储的高频查询请求及其对应的查询结果完全不能为新的查询请求的处理过程直接利用。例如存储了查询内容为“中国人民大学”的查询请求及对应的查询结果,当再次接收到的查询请求的内容为“中国人民”时,之前存储的内容为“中国人民大学”的查询请求及存储的对应查询结果应该可以作为查询请求内容为“中国人民”的部分结果。但是按照现有技术的方式,由于查询请求的内容不完全相同,导致搜索引擎不能直接利用“中国人民大学”的查询结果,而需要重新完整地执行查询过程。基于上述原因,存储的查询请求及其对应查询结果的命中率不高。

【发明内容】

[0007]本申请的目的是提供一种基于查询日志的存储方法,以实现提高存储内容的查询请求命中率。
[0008]一种基于查询日志的数据处理方法,包括:
[0009]获取预定时间段中搜索引擎的部分或全部的查询日志;
[0010]对所述查询日志中的查询请求的多元共现片段频次进行统计;
[0011]对于每一多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;
[0012]根据多元共现片段的元数及频次选取一个或一个以上多元共现片段;
[0013]将选取的多元共现片段及其对应的查询结果存储起来。
[0014]优选方案中,所述对多元共现片段频次进行统计,包括:对每一查询请求设置一个标识,利用所述标识统计每一共现片段在查询日志的查询请求中出现的频次;所述的标识具有唯一性。
[0015]优选方案中,利用标识统计每一共现片段在查询日志的查询请求中出现的频次包括:对于每个查询请求,输出每个查询请求中多元共现片段和该查询请求的标识组成的键值对;将内容相同的η元共现片段的键值对进行合并,并利用所述标识统计每一 η元共现片段的频次;所述η为整数,2 < η < N,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
[0016]优选方案中,所述对每一查询请求设置一个标识,包括:计算每一查询请求的信息-摘要算法5的值或者安全散列算法的值或RACE原始完整性校验消息摘要的值,将计算得到的值设置为该查询请求的标识。
[0017]优选方案中,对所述多元共现片段的频次进行修正,包括:对元数小于N的多元共现片段的频次进行修正,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
[0018]优选方案中,对于所述多元共现片段的频次进行修正,包括:按照元数从高到低的顺序依次对元数小于N的多元共现片段的频次进行修正,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
[0019]优选方案中,对所述多元共现片段的频次进行修正,包括:将统计的k元共现片段的频次减去包含k元共现片段内容的k+Ι元共现片段的频次,作为k元共现片段修正后的频次;所述k为整数,2彡k彡(N-1),所述N为查询日志中查询请求的多元共现片段的最大片段元数。
[0020]优选方案中,所述根据多元共现片段的元数及频次选取一个或一个以上多元共现片段,包括:根据第一预设值,将共现片段的元数小于或等于所述第一预设值的设置为低元共现片段,将共现片段的元数大于所述第一预设值的设置为高元共现片段;根据共现片段的元数及频次选取所述低元共现片段和高元共现片段。
[0021]优选方案中,所述根据共现片段的元数及频次选取低元共现片段和高元共现片段,包括:选取所述高元共现片段;采用下列方式A-C中的一种或几种的组合选取所述低元共现片段:
[0022]A:对共现片段的频次设置一个阈值进行过滤;当共现片段的频次大于或者等于设置的阈值时,该共现片段被选中;
[0023]B:设定在低元共现片段中需要选取的总数目P,将所有的低元共现片段按照频次进行降序排列,然后选取排列的共现片段中前面的P个多元共现片段;所述P为正整数,P的取值小于低元共现片段的总个数;
[0024]C:按照共现片段元数的不同,分别进行排序,排序后再分别选取每个元数的共现片段中排在前q%的共现片段,所述q的范围包括:0〈q〈100。
[0025]优选方案中,所述将选取的多元共现片段及其查询结果存储起来,包括:将选取的多元共现片段及其查询结果存放在内存中或高速缓冲存储器中;或,对选取的多元共现片段建立倒排索引,产生倒排列表,将所述倒排列表及共现片段的查询结果存放在相同的或者不同的存储器中,所述的存储器包括内存、高速缓冲存储器、磁盘。
[0026]优选方案中,所述查询日志中查询请求的多元共现片段的最大片段元数的确定方法,包括:将查询日志中每个查询请求中检索词和检索条件的总个数作为每个查询请求对应的最小粒度的片段数,将最小粒度的片段数中的最大值作为多元共现片段的最大片段元数。
[0027]—种基于查询日志的数据处理系统,包括:查询日志获取模块、共现片段频次统计模块、共现片段频次修正模块、多元共现片段选取模块和存储模块;其中,
[0028]所述查询日志获取模块,用于获取预定时间段搜索引擎的部分或全部的查询日志;
[0029]所述共现片段频次统计模块,用于对所述查询日志中查询请求的多元共现片段的频次进行统计;
[0030]所述共现片段频次修正模块,用于对共现片段频次统计模块中每一统计好频次的多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;
[0031]所述多元共现片段选取模块,用于对共现片段频次修正模块得到的多元共现片段根据多元共现片段的元数和频次选取一个或一个以上多元共现片段;
[0032]所述存储模块,用于将多元共现片段选取模块选取的多元共现片段及其对应的查询结果存储起来。
[0033]优选方案中,所述多元共现片段频次统计模块包括:标识设置模块、频次计数模块;所述标识设置模块,用于对每一查询请求设置标识,所述的标识具有唯一性;所述频次计数模块,用于根据所述标识统计各个共现片段出现的频次。
[0034]优选方案中,所述多元共现片段的元数小于N,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
[0035]优选方案中,所述多元共现片段频次修正模块包括:排序模块、减法模块;所述排序模块,用于将元数小于N的多元共现片段按照元数从高到低的顺序进行排列,并依次输入到减法模块中进行处理;所述减法模块,用于将统计的k元共现片段的频次减去包含k元共现片段内容的k+Ι元共现片段的频次,作为k元共现片段修正后的频次;所述k为整数,2彡k彡(N-1),所述N为查询日志中查询请求的多元共现片段的最大片段元数。
[0036]优选方案中,所述多元共现片段选取模块包括:第一设置模块、第一选取模块;所述第一设置模块,用于根据第一预设值将共现片段的元数小于或等于所述第一预设值的设置为低元共现片段,并根据所述第一预设值将共现片段的元数大于所述第一预设值的设置为高元共现片段;所述第一选取模块,用于根据多元根据共现片段的元数及频次选取所述低元共现片段和所述高元共现片段。
[0037]优选方案中,所述第一选取模块包括:低元共现片段选取模块、高元共现片段选取模块;所述低元共现片段选取模块,采用下列方式A-C中的一种或几种的组合选取低元共现片段:
[0038]A:对共现片段的频次设置一个阈值进行过滤;当共现片段的频次大于或者等于设置的阈值时,该共现片段被选中;当共现片段的频次小于设定的阈值时,该共现片段不被选中;
[0039]B:设定在低元共现片段中需要选取的总数目P,将所有的低元共现片段按照频次进行降序排列,然后选取排列的共现片段中前面的P个多元共现片段;所述P为正整数,P的取值小于低元共现片段的总个数;
[0040]C:按照共现片段元数的不同,分别进行排序,排序后再分别选取每个元数的共现片段中排在前q%的共现片段,所述q的范围包括:0〈q〈100 ;
[0041]所述高元共现片段选取模块,用于选取所述高元共现片段。
[0042]优选方案中,所述存储模块采用下述存储方法存储选取的多元共现片段及其对应的结果:将选取的多元共现片段及其对应的查询结果存放在内存中或高速缓冲存储器中;或,对多元共现片段建立倒排索引,产生倒排列表;将所述倒排列表及共现片段对应的查询结果存放在相同的或者不同的存储器中,所述的存储器包括内存、高速缓冲存储器或磁盘。
[0043]一种利用本申请数据处理方法获得的数据进行查询的方法,包括:
[0044]将查询请求的内容和存储的多元共现片段进行匹配,并筛选匹配成功的多元共现片段;
[0045]为所述筛选的匹配成功的多元共现片段查找存储的查询结果;
[0046]为查询请求返回所述查询结果。
[0047]优选方案中,当所述筛选的匹配成功的多元共现片段包括2个或2个以上时,所述为查询请求返回查询结果包括:将查找到的查询结果进行求交集运算;为查询请求返回所述求交集运算得到的结果。
[0048]优选方案中,当存在没有与存储的多元共现片段匹配成功的片段时,所述查询方法还包括:对所述没有匹配成功的片段执行查询过程;相应地,所述为查询请求返回查询结果包括:将筛选的匹配成功的多元共现片段对应的查询结果与根据所述没有匹配成功片段执行查询过程的结果进行求交集运算;为查询请求返回所述求交集运算得到的查询结果;所述筛选的匹配成功的多元共现片段包括一个多元共现片段或一个以上多元共现片段。
[0049]优选方案中,所述将查询请求的内容和存储的多元共现片段进行匹配,包括:根据接收到的查询请求,列举出所述查询请求中的多元共现片段;将所述多元共现片段从低元到高元依次与存储的多元共现片段进行匹配,若能匹配成功,则将所述匹配成功的多元共现片段扩展至包含了该多元共现片段内容的更高元共现片段,将所述的更高元共现片段与存储的多元共现片段进行匹配;若不能匹配成功,则匹配中止,再将下一个多元共现片段与存储的共现片段进行匹配,直至查询请求的多元共现片段匹配完毕。
[0050]优选方案中,所述筛选匹配成功的多元共现片段,包括:根据第二预设值,将所述匹配成功的共现片段的元数小于或等于所述第二预设值的设置为匹配成功的低元共现片段,将所述匹配成功的共现片段的元数大于所述第二预设值的设置为匹配成功的高元共现片段;筛选的策略包括:选取高元共现片段策略,所述选取高元共现片段策略包括选取所述匹配成功的高元共现片段;或,选取低元共现片段策略,所述选取低元共现片段策略包括选取所述匹配成功的低元共现片段。
[0051]一种利用本申请数据处理系统获得的数据进行查询的系统,包括:查询请求匹配模块、查询结果查找模块、查询结果返回模块;其中,
[0052]所述查询请求匹配模块,用于将接收到的查询请求的内容与存储的多元共现片段进行匹配,并筛选匹配成功的多元共现片段;
[0053]所述查询结果查找模块,用于为查询请求匹配模块中筛选的匹配成功的多元共现片段根据存储模块中存储的多元共现片段和对应的查询结果,查找到存储的查询结果;
[0054]所述查询结果返回模块,用于为查询请求返回所述查询结果。
[0055]优选方案中,所述查询结果返回模块,包括返回模块,用于返回所述查询请求的查询结果。
[0056]优选方案中,当所述查询请求匹配模块中,筛选的匹配成功的多元共现片段包括2个或2个以上时,所述查询结果返回模块还包括:运算模块;所述运算模块,用于将查询结果查找模块中查找到2个或2个以上多元共现片段对应的查询结果进行求交集运算;相应地,所述返回模块,用于为查询请求返回所述求交集运算得
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1