CN104794129A - 一种基于查询日志的数据处理方法和系统 - Google Patents
一种基于查询日志的数据处理方法和系统 Download PDFInfo
- Publication number
- CN104794129A CN104794129A CN201410026245.1A CN201410026245A CN104794129A CN 104794129 A CN104794129 A CN 104794129A CN 201410026245 A CN201410026245 A CN 201410026245A CN 104794129 A CN104794129 A CN 104794129A
- Authority
- CN
- China
- Prior art keywords
- occurrence
- segments
- query
- segment
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种基于查询日志的数据处理方法和系统。基于查询日志的数据处理方法包括:获取预定时间段搜索引擎的部分或全部的查询日志;对所述查询日志中查询请求的多元共现片段进行频次的统计;对每一多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;根据多元共现片段的元数及频次选取一个或一个以上多元共现片段;将选取的多元共现片段及其对应的查询结果存储起来。本申请基于查询日志的数据处理系统实施例,可以实现本申请基于查询日志的数据处理方法。利用本申请提供的数据处理方法和系统,可以提高存储内容的查询请求命中率,提升搜索引擎的性能。
Description
技术领域
本发明涉及搜索领域,特别涉及一种基于查询日志的数据处理方法和系统。
背景技术
搜索引擎,可以借助互联网,对各种信息进行整理、筛选或归档等处理,以为用户提供预期得到的信息。
很多情况下搜索条件会特别复杂,提供搜索服务要求搜索引擎具备更高的性能。一种提高性能的方式是通过对查询请求的相关数据进行处理来提高搜索引擎的每秒查询率(QPS,Query Per Second)。
提高QPS的数据处理方法较常用的为查询语句预存法。提供搜索服务的搜索引擎,会收到很多客户端发来的查询请求。例如,客户端发起的查询请求中,查询内容为“中国人民大学”,这样的查询请求称为query。搜索引擎一般会将接收到的查询请求存储起来作为查询日志(query log)。对于查询日志中提出过频次相对较高的查询请求称为高频查询请求。该方法中,首先挖掘查询日志(query log)里面的高频查询请求。搜索引擎为了对此后收到的类似查询请求快速处理并反馈,从而将之前提出过的高频查询请求及其查询结果完整的存储起来。这样,当搜索引擎接收到同样的查询请求时,可以将前述查询对应的结果直接返回至客户端。
在实现本申请过程中,发明人发现现有技术中至少存在如下问题:
上述数据处理方法中,存储的是整个高频query,当再次接收到的查询请求与原来存储的高频查询请求仅有部分相同但不完全相同时,之前存储的高频查询请求及其对应的查询结果完全不能为新的查询请求的处理过程直接利用。例如存储了查询内容为“中国人民大学”的查询请求及对应的查询结果,当再次接收到的查询请求的内容为“中国人民”时,之前存储的内容为“中国人民大学”的查询请求及存储的对应查询结果应该可以作为查询请求内容为“中国人民”的部分结果。但是按照现有技术的方式,由于查询请求的内容不完全相同,导致搜索引擎不能直接利用“中国人民大学”的查询结果,而需要重新完整地执行查询过程。基于上述原因,存储的查询请求及其对应查询结果的命中率不高。
发明内容
本申请的目的是提供一种基于查询日志的存储方法,以实现提高存储内容的查询请求命中率。
一种基于查询日志的数据处理方法,包括:
获取预定时间段中搜索引擎的部分或全部的查询日志;
对所述查询日志中的查询请求的多元共现片段频次进行统计;
对于每一多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;
根据多元共现片段的元数及频次选取一个或一个以上多元共现片段;
将选取的多元共现片段及其对应的查询结果存储起来。
优选方案中,所述对多元共现片段频次进行统计,包括:对每一查询请求设置一个标识,利用所述标识统计每一共现片段在查询日志的查询请求中出现的频次;所述的标识具有唯一性。
优选方案中,利用标识统计每一共现片段在查询日志的查询请求中出现的频次包括:对于每个查询请求,输出每个查询请求中多元共现片段和该查询请求的标识组成的键值对;将内容相同的n元共现片段的键值对进行合并,并利用所述标识统计每一n元共现片段的频次;所述n为整数,2≤n≤N,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
优选方案中,所述对每一查询请求设置一个标识,包括:计算每一查询请求的信息-摘要算法5的值或者安全散列算法的值或RACE原始完整性校验消息摘要的值,将计算得到的值设置为该查询请求的标识。
优选方案中,对所述多元共现片段的频次进行修正,包括:对元数小于N的多元共现片段的频次进行修正,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
优选方案中,对于所述多元共现片段的频次进行修正,包括:按照元数从高到低的顺序依次对元数小于N的多元共现片段的频次进行修正,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
优选方案中,对所述多元共现片段的频次进行修正,包括:将统计的k元共现片段的频次减去包含k元共现片段内容的k+1元共现片段的频次,作为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+1元共现片段的频次,作为k元共现片段修正后的频次;所述k为整数,2≤k≤(N-1),所述N为查询日志中查询请求的多元共现片段的最大片段元数。
优选方案中,所述多元共现片段选取模块包括:第一设置模块、第一选取模块;所述第一设置模块,用于根据第一预设值将共现片段的元数小于或等于所述第一预设值的设置为低元共现片段,并根据所述第一预设值将共现片段的元数大于所述第一预设值的设置为高元共现片段;所述第一选取模块,用于根据多元根据共现片段的元数及频次选取所述低元共现片段和所述高元共现片段。
优选方案中,所述第一选取模块包括:低元共现片段选取模块、高元共现片段选取模块;所述低元共现片段选取模块,采用下列方式A-C中的一种或几种的组合选取低元共现片段:
A:对共现片段的频次设置一个阈值进行过滤;当共现片段的频次大于或者等于设置的阈值时,该共现片段被选中;当共现片段的频次小于设定的阈值时,该共现片段不被选中;
B:设定在低元共现片段中需要选取的总数目P,将所有的低元共现片段按照频次进行降序排列,然后选取排列的共现片段中前面的P个多元共现片段;所述P为正整数,P的取值小于低元共现片段的总个数;
C:按照共现片段元数的不同,分别进行排序,排序后再分别选取每个元数的共现片段中排在前q%的共现片段,所述q的范围包括:0<q<100;
所述高元共现片段选取模块,用于选取所述高元共现片段。
优选方案中,所述存储模块采用下述存储方法存储选取的多元共现片段及其对应的结果:将选取的多元共现片段及其对应的查询结果存放在内存中或高速缓冲存储器中;或,对多元共现片段建立倒排索引,产生倒排列表;将所述倒排列表及共现片段对应的查询结果存放在相同的或者不同的存储器中,所述的存储器包括内存、高速缓冲存储器或磁盘。
一种利用本申请数据处理方法获得的数据进行查询的方法,包括:
将查询请求的内容和存储的多元共现片段进行匹配,并筛选匹配成功的多元共现片段;
为所述筛选的匹配成功的多元共现片段查找存储的查询结果;
为查询请求返回所述查询结果。
优选方案中,当所述筛选的匹配成功的多元共现片段包括2个或2个以上时,所述为查询请求返回查询结果包括:将查找到的查询结果进行求交集运算;为查询请求返回所述求交集运算得到的结果。
优选方案中,当存在没有与存储的多元共现片段匹配成功的片段时,所述查询方法还包括:对所述没有匹配成功的片段执行查询过程;相应地,所述为查询请求返回查询结果包括:将筛选的匹配成功的多元共现片段对应的查询结果与根据所述没有匹配成功片段执行查询过程的结果进行求交集运算;为查询请求返回所述求交集运算得到的查询结果;所述筛选的匹配成功的多元共现片段包括一个多元共现片段或一个以上多元共现片段。
优选方案中,所述将查询请求的内容和存储的多元共现片段进行匹配,包括:根据接收到的查询请求,列举出所述查询请求中的多元共现片段;将所述多元共现片段从低元到高元依次与存储的多元共现片段进行匹配,若能匹配成功,则将所述匹配成功的多元共现片段扩展至包含了该多元共现片段内容的更高元共现片段,将所述的更高元共现片段与存储的多元共现片段进行匹配;若不能匹配成功,则匹配中止,再将下一个多元共现片段与存储的共现片段进行匹配,直至查询请求的多元共现片段匹配完毕。
优选方案中,所述筛选匹配成功的多元共现片段,包括:根据第二预设值,将所述匹配成功的共现片段的元数小于或等于所述第二预设值的设置为匹配成功的低元共现片段,将所述匹配成功的共现片段的元数大于所述第二预设值的设置为匹配成功的高元共现片段;筛选的策略包括:选取高元共现片段策略,所述选取高元共现片段策略包括选取所述匹配成功的高元共现片段;或,选取低元共现片段策略,所述选取低元共现片段策略包括选取所述匹配成功的低元共现片段。
一种利用本申请数据处理系统获得的数据进行查询的系统,包括:查询请求匹配模块、查询结果查找模块、查询结果返回模块;其中,
所述查询请求匹配模块,用于将接收到的查询请求的内容与存储的多元共现片段进行匹配,并筛选匹配成功的多元共现片段;
所述查询结果查找模块,用于为查询请求匹配模块中筛选的匹配成功的多元共现片段根据存储模块中存储的多元共现片段和对应的查询结果,查找到存储的查询结果;
所述查询结果返回模块,用于为查询请求返回所述查询结果。
优选方案中,所述查询结果返回模块,包括返回模块,用于返回所述查询请求的查询结果。
优选方案中,当所述查询请求匹配模块中,筛选的匹配成功的多元共现片段包括2个或2个以上时,所述查询结果返回模块还包括:运算模块;所述运算模块,用于将查询结果查找 模块中查找到2个或2个以上多元共现片段对应的查询结果进行求交集运算;相应地,所述返回模块,用于为查询请求返回所述求交集运算得到的结果。
优选方案中,当所述查询请求匹配模块中,存在没有匹配成功的片段时,所述查询系统还包括查询执行模块;所述查询执行模块,用于对所述查询请求匹配模块中没有匹配成功的片段执行查询过程;相应地,所述运算模块,用于将查询结果查找模块中查找到的匹配成功的多元共现片段对应的查询结果与查询执行模块中执行查询过程的结果进行求交集运算;所述返回模块,用于为查询请求返回所述交集运算得到的结果;所述匹配成功的多元共现片段包括一个多元共现片段或一个以上多元共现片段。
优选方案中,所述查询请求匹配模块,包括:匹配模块、筛选模块;所述匹配模块,用于将查询请求的共现片段与存储的共现片段进行匹配,得到匹配成功的多元共现片段;所述筛选模块,用于筛选所述匹配成功的多元共现片段。
优选方案中,所述匹配模块包括:片段列举模块、片段排序模块、片段匹配模块、片段扩展模块;所述片段列举模块,用于根据所述查询请求,列举出所述查询请求中的多元共现片段;所述片段排序模块,用于将所述多元共现片段从低元到高元依次排序,并输入至片段匹配模块;所述片段匹配模块,用于将所述多元共现片段与存储的多元共现片段进行匹配,若能匹配成功,则将所述匹配成功的多元共现片段输入至片段扩展模块;若不能匹配成功,则匹配中止,将下一个多元共现片段与存储的共现片段进行匹配,直至查询请求的多元共现片段匹配完毕;所述片段扩展模块,用于将所述匹配成功的多元共现片段扩展至包含了该多元共现片段内容的更高元共现片段,并将所述的更高元共现片段返回至片段匹配模块。
优选方案中,所述筛选模块包括:第二设置模块、第二选取模块;所述第二设置模块,用于根据第二预设值,将匹配成功的共现片段的元数小于或等于所述第二预设值的设置为匹配成功的低元共现片段,将匹配成功的共现片段的元数大于所述第二预设值的设置为匹配成功的高元共现片段;所述第二选取模块采用下述策略对匹配成功的多元共现片段进行选取:选取高元共现片段策略,所述选取高元共现片段策略包括选取所述匹配成功的高元共现片段;或,选取低元共现片段策略,所述选取低元共现片段策略包括选取所述匹配成功的低元共现片段。
本申请的基于查询日志的数据处理方法,先对获取到的查询日志进行共现片段的频次统计和频次修正,再根据多元共现片段的元数和频次选取出一个或一个以上的多元共现片段,将选取的多元共现片段及其对应的查询结果存储起来。所述的多元共现片段的各个片段包括检索词、检索短语和检索条件,各个片段可以是查询请求中相邻的片段,也可以是不相邻的片段,所以共现片段的内容更加全面。修正后的共现片段的频次能够真实反映出查询请求中 各个共现片段的频次。多元共现片段的选取同时考虑了多元共现片段的元数和频次,实现了利用尽量少的存储空间存储尽量多的查询请求和查询结果,使得存储的内容更全面。所以,同时再次接收到查询请求时,利用本申请的数据处理方法存储的数据的命中率得到提高。
本申请基于查询日志的数据处理系统与本申请的数据处理方法相对应,可以实现本申请的数据处理方法,利用尽量少的存储空间存储尽量多的查询请求和查询结果,存储的内容更全面。再次接收到查询请求时,利用本申请的数据处理系统存储的数据的命中率得到提高。
利用本申请数据处理方法的数据进行查询的方法,充分利用了本申请数据处理方法的数据,能够实现查询请求内容与存储的共现片段的匹配,根据匹配的共现片段快速查找到相应的查询结果并返回。
利用本申请数据处理方法的数据进行查询的系统与查询方法相对应,能够实现将查询请求内容与存储的共现片段相匹配,根据匹配的共现片段快速查找到相应的查询结果并返回。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请基于查询日志的数据处理方法的流程图;
图2是本申请基于查询日志的数据处理系统实施例的组成结构图;
图3是本申请共现片段频次统计模块实施例的模块组成结构示意图;
图4是本申请共现片段频次修正模块实施例的组成结构示意图;
图5是本申请多元共现片段选取模块实施例的组成结构示意图;
图6是本申请第一选取模块实施例的组成结构示意图;
图7是利用本申请数据处理方法的数据进行查询的方法流程图;
图8是利用本申请数据处理方法的数据进行查询的系统实施例的组成结构图;
图9是本申请查询请求匹配模块实施例的组成结构示意图;
图10是本申请匹配模块实施例的组成结构示意图;
图11是本申请筛选模块实施例的组成结构示意图;
图12是本申请查询结果返回模块实施例组成结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
在搜索领域,一个完整的搜索请求(query)中,每一个检索词称为term。其中,所述的搜索请求包括查询串。所述查询串包括一个或多个分词单元。所述检索词可以是查询串中的分词单元。例如,搜索内容为“中国人民大学”的搜索请求中,“中国”、“人民”和“大学”的每一个分词都可以称为检索词(term)。多个相邻的检索词(term)组成的短语通常称为搜索短语(phrase)。
以搜索引擎中代码化的query语句示意“中国人民大学研究生”的query的一种例示为:
“query=(PHRASE:‘中国’AND PHRASE:‘人民’AND PHRASE:‘大学’AND PHRASE:‘研究生’)AND serviceid:‘86198'”
其中,检索词(term)是指“中国”、“人民”、“大学”、“研究生”。
检索短语(phrase)指相邻检索词所组成的短语,例如由检索词“中国”和与之相邻的检索词“人民”组成的短语“中国人民”。对于查询日志中出现频次相对较高的检索短语称为高频检索短语。
另一种现有技术的数据处理方式,首先挖掘查询日志里面的高频检索短语。并将所述的高频检索短语及其对应的查询结果存储起来。这样,当搜索引擎接收到的查询请求包含前述的检索短语时,只需要对没有被包含的检索内容重新执行查询过程,将查询结果与前述检索短语对应的查询结果求交集,即可得到新的查询请求的查询结果。例如存储了检索短语“中国大学”及其对应的查询结果,当再次接收到的查询请求内容为“中国大学研究生”时,只需要对“研究生”重新执行查询过程即可,将“研究生”的查询结果与之前存储的“中国大学”的查询结果求交集,所述交集就是“中国大学研究生”的查询结果。但是当再次接收到的查询请求内容为“中国人民大学”时,存储的检索短语“中国大学”及其查询结果不能被直接利用,需要对“中国人民大学”重新执行查询过程。这样,所述现有技术存储的检索短语及其对应的查询结果的命中率不高。
在上述示例的代码化query语句中,“service_id:‘86198'”表示一个用户在查询请求中指定的检索条件。上述的一个检索词、一个检索短语或者是一个检索条件都可以称为一个片段。在一个查询请求中同时出现的W个片段称为N元共现片段,所述的W个片段不一定相邻。例如,上述代码化的query语句中,2元共现片段可以包括“‘中国’‘人民’”、“‘中国’ ‘人民大学’”、“‘大学’‘service_id:'86198''”等。一般,将包含了2~W元共现片段的集合称为多元共现片段。
图1是本申请基于查询日志的数据存储方法的流程图。如图1所示,基于查询日志的存储方法包括:
S101:获取预定时间段中搜索引擎的部分或全部的查询日志。
如前所述,搜索引擎一般会存储相当长时间内用户通过客户端向搜索引擎提交的查询请求,例如数月长时间内的查询请求,并将这些查询请求存储为查询日志。本步骤中,可以获取存储的预定时间段内的所述查询日志,例如获取所存储的全部时间段内的查询日志;或者是根据需要获取一定时间长度内的查询日志,例如获取的是数天、数小时内的查询日志。所述查询日志中包含了一定时间段内用户通过客户端向搜索引擎提交的查询请求,如前所述,搜索引擎中还存储所述查询日志中查询请求所对应的查询结果。
S102:对所述查询日志中的查询请求的多元共现片段的频次进行统计。
该步骤的实现方法可以是:对所述查询日志中的每一查询请求设置一个标识,利用所述标识统计具有相同的某一多元共现片段的查询请求的个数,即统计该多元共现片段的频次。其中,多元共现片段的频次可以为该多元共现片段在所述查询日志中的查询请求中出现的频率或次数。
利用上述方法,可以得到每一个多元共现片段在查询日志中的频次。其中,多元共现片段的元数可以是[2,N]区间中的任意自然数。所述N为查询日志中查询请求的多元共现片段的最大片段元数。
所述最大片段元数N的确定方法可以是:将查询日志中每个查询请求中检索词和检索条件的总个数作为每个查询请求对应的最小粒度的片段数,将最小粒度的片段数中的最大值作为最大共现片段元数。
粒度用于表示对query log中每个query分析的精细程度。通常,将每个检索词作为一个片段时对query分析的精细程度最高,此时称为粒度最细或粒度最小。将整个query的内容作为一个片段时对query分析的精细程度最低,此时称为粒度最粗或粒度最大。因此每个query的最小粒度的片段数即为该query中检索词和检索条件的总个数,用M表示。在查询日志中,将每个query的最小粒度片段数M的值中最大的值作为多元共现片段的最大片段元数N。
例如在查询日志中只有下述三个代码化的查询请求语句,分别为:
“query0=(PHRASE:‘中国’AND PHRASE:‘人民’AND PHRASE:‘大学’AND PHRASE:‘研究生’)AND serviceid:‘86198'”
“query1=(PHRASE:‘中国’AND PHRASE:‘人民’AND PHRASE:‘大学’)”
“query2=(PHRASE:‘中国’AND PHRASE:‘人民’AND PHRASE:‘银行’)”
上述3个query语句中:
query0中,包含四个检索词“中国”、“人民”、“大学”、“研究生”和一个检索条件“service_id:‘86198'”,所以query0的最小粒度的片段数M的值为5;
query1中,包含三个检索词“中国”、“人民”、“大学”,所以query1的最小粒度的片段数M的值为3;
query2中,包含三个检索词“中国”、“人民”、“银行”,所以query2的最小粒度的片段数M的值为3。
上述3个query语句中最小粒度的片段数的值最大的为5,则将5作为多元共现片段的最大片段元数N的值。
对所述查询日志中的查询请求的多元共现片段的频次进行统计具体可以采用map-reduce(映射-化简)方法对query log中的查询请求进行2~N元共现片段的频次统计。所述的map-reduce方法主要分为两个阶段:map(映射)阶段和reduce(化简)阶段。map阶段主要用来对查询日志中的每一查询请求设置一个标识,并将查询请求的内容及所述标识映射成一组新的键值对并输出,reduce阶段主要用于对map阶段的输出内容进行合并和统计,统计出相同的共现片段的频次。用n表示2~N中的任意一个整数,则对n元共现片段的频次统计具体步骤如下:
(1)map阶段
首先对查询日志中的每一查询请求设置一个标识。所述标识具有唯一性。所述标识可以用query id来表示。所述标识的选取方法可以是:对所述查询日志中的每个query计算其信息-摘要算法5的值(Message-Digest Algorithm5值,下文简称md5值),将md5值作为每个query的标识。所述标识的选取方法还可以是:计算所述查询日志中每个query的SHA (Secure Hash Algorithm,安全散列算法)的值,或RIPEMD(RACE Integrity Primitives Evaluation Message Digest,RACE原始完整性校验消息摘要)的值,将计算所得的SHA值或RIPEMD值作为每个query的标识。
在每个query中,将每个n元共现片段的内容和该query的query id映射成一组新的键值对。所述键值对中,n元共现片段的内容作为键值对的key,query id作为键值对的value。对于每个query,穷举每个query中的n元共现片段,并输出每个n元共现片段和query id组成的键值对。
例如,查询日志中只下面两个代码化的query语句:
“query1=(PHRASE:‘中国’AND PHRASE:‘人民’AND PHRASE:‘大学’)”
“query2=(PHRASE:‘中国’AND PHRASE:‘人民’AND PHRASE:‘银行’)”
根据上述确定最大共现片段元数的方法,query1的最小粒度片段数为3,query2的最小粒度片段数也为3,则最大共现片段元数为3;则在本步骤中对查询日志进行2~3元共现片段的映射和输出,即所述的对n元共现片段的映射和输出包括二元共现片段的频次和三元共现片段的映射和输出。
假设n取2,则此时需要在map阶段对上述两个query语句进行二元共现片段的映射和输出,具体步骤如下:
首先计算query1的md5值,并将计算出的md5值作为queryid1。然后穷举query1中的二元共现片段,所述的query1中的二元共现片段包括:“PHRASE_中国_人民”、“PHRASE_中国_大学”和“PHRASE_人民_大学”这三个。所以对于query1,map阶段输出的二元共现片段内容和query id的键值对如下:
<“PHRASE_中国_人民”,queryid1>,
<“PHRASE_中国_大学”,queryid1>,
<“PHRASE_人民_大学”,queryid1>。
同理,对于query2,首先计算query2的md5值,并将计算出的md5值作为queryid2。穷举query2中的二元共现片段,所述的query2中的二元共现片段包括:“PHRASE_中国_人民”、“PHRASE_中国_银行”和“PHRASE_人民_银行”这三个。所以则对于query2,map阶段输出的二元共现片段和query id的键值对如下:
<“PHRASE_中国_人民”,queryid2>,
<“PHRASE_中国_银行”,queryid2>,
<“PHRASE_人民_银行”,queryid2>。
(2)reduce阶段
主要用于对上述map阶段输出的键值对进行合并和统计。先将查询日志中map阶段输出的具有相同内容的n元共现片段的键值对进行合并,再统计每一n元共现片段出现的频次,并输出统计后的键值对;所述键值对中,共现片段的内容作为键值对的key,共现片段的频次作为键值对的value。
例如上述map阶段的所述例子,查询日志中仅包含query1和query2两个query语句,那么在reduce阶段先将map阶段中query1和query2输出的具有相同二元共现片段内容的键值对进行合并,得到结果如下:
<“PHRASE_中国_人民”,(queryid1,queryid2)>,
<“PHRASE_中国_大学”,queryid1>,
<“PHRASE_人民_大学”,queryid1>,
<“PHRASE_中国_银行”,queryid2>,
<“PHRASE_人民_银行”,queryid2>。
再根据上述合并后的键值对,统计每一二元共现片段出现的次数,结果如下:
<“PHRASE_中国_人民”,2>,
<“PHRASE_中国_大学”,1>,
<“PHRASE_人民_大学”,1>,
<“PHRASE_中国_银行”,1>,
<“PHRASE_人民_银行”,1>。
相应地,在上述例子中,n取3时,可以进行三元共现片段的分析枚举,方法如下:
在map阶段,首先分别将query1和query2的md5值作为queryid1和queryid2。然后分别穷举query1和query2中的三元共现片段。对于query1,所述的三元共现片段包括:“PHRASE_中国_人民_大学”。对于query2,所述的三元共现片段包括:“PHRASE_中国_人民_银行”这两个。
所以,对于query1,map阶段输出的三元共现片段和query id的键值对如下:
<“PHRASE_中国_人民_大学”,queryid1>。
对于query1,map阶段输出的三元共现片段和query id的键值对如下:
<“PHRASE_中国_人民_银行”,queryid2>。
在reduce阶段,先将map阶段中query1和query2输出的具有相同二元共现片段内容的键值对进行合并。再统计合并后的键值对中各三元共现片段出现的频次。
由于输出的键值对中没有三元共现片段内容相同的键值对,因此输出的键值对为:
<“PHRASE_中国_人民_大学”,queryid1>;
<“PHRASE_中国_人民_银行”,queryid2>。
统计上述键值对中三元共现片段出现的频次,结果为:
<“PHRASE_中国_人民_大学”,1>;
<“PHRASE_中国_人民_银行”,1>。
对所述查询日志中查询请求的多元共现片段进行频次统计可以分析出每一共现片段的频次,根据共现片段的频次可以分析出哪些是经常被查询的内容,为后续如何选取共现片段进行存储提供依据。
S103:对于每一多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次修正所述多元共现片段的频次。
在对查询日志进行多元共现片段统计频次时,查询日志中某一个查询请求中的一个片段,可能会既出现在低元共现片段中又出现在高元共现片段中,这样内容重复的部分频次会被重复计算。为了使频次的计数精确,需要对S102中统计了频次的共现片段进行频次值的修正。
对于某一二元共现片段而言,包含了该二元共现片段内容的三元共现片段或者更高元的共现片段为所述二元共现片段的高元共现片段。而N元共现片段为元数最高的多元共现片段,其频次在本步骤中不需要进行修正。因此,本实施例对所述多元共现片段的频次的修正包括对元数小于N的多元共现片段的频次进行修正。
假设k为(N-1)~2中的任意一个整数。由于对于S102中统计了频次的所有k元共现片段中的某一个k元共现片段,包含了该k元共现片段内容的k+1元共现片段的查询结果必然也是该k元共现片段的部分查询结果。因此,对k元共现片段进行频次修正的方法可以为:在统计好了的k元共现片段的频次基础上,将包含了该k元共现片段内容的k+1元共现片段的频次减去,将做了减法以后的k元共现片段内容及其频次进行输出。上述方法实现时,从(N-1)元至2元依次做减法进行修正,由于在对k+1元共现片段频次进行修正时,已经减去了k+2元共现片段的影响,所以对于k元共现片段只需要考虑k+1元共现片段的影响,不需要考虑更高元的共现片段对所述k元共现片段频次的影响。因此,本实施例对所述多元共现片段的频次的修正包括按照元数从高到低的顺序依次对元数小于N的多元共现片段的频次进行修正。
上述方法可以利用map-reduce方法来实现:
在map阶段,首先统计S102中分析的k元共现片段及其频次,然后统计包含了k元共现片段内容的k+1元共现片段的频次,将上述k+1元共现片段的频次改为相应值的负值,再将上述k元和k+1元共现片段内容及频次作为键值对进行输出。所述键值对中,k元或k+1元共现片段的内容为value,频次为key。
在reduce阶段,将map阶段输出的k元共现片段的频次和包含了所述k元共现片段内容的k+1元共现片段的频次进行叠加,作为k元共现片段的频次。将叠加后的k元共现片段内容及频次作为键值对进行输出。所述键值对中,k元共现片段的内容为value,叠加后的频次为key。
例如,取k值为2,即对二元共现片段频次进行修正。
(1)在map阶段
先输出二元共现片段的频次和包括了上述二元共现片段内容的三元共现片段的频次。假设输出结果如下:
两个二元共现片段及其频次为:
<“PHRASE_中国_人民”,200>,
<“PHRASE_中国_大学”,110>,
与上述二元共现片段“PHRASE_中国_人民”相关的三元共现片段包括:
“PHRASE中国人民大学”和“PHRASE中国人民研究生”。
与二元共现片段“PHRASE_中国_大学”相关的三元共现片段包括:
“PHRASE中国人民大学”和“PHRASE中国大学研究生”。
并且统计上述两个三元共现片段的频次,分别为:
<“PHRASE中国人民大学”,10>;
<“PHRASE中国人民研究生”,30>;
<“PHRASE中国大学研究生”,10>。
然后将上述k+1元共现片段的频次改为相应值的负值,再将上述二元和三元共现片段内容及频次作为键值对进行输出。输出结果为:
<“PHRASE_中国_人民”,200>;
<“PHRASE_中国_大学”,110>;
<“PHRASE中国人民大学”,-10>;
<“PHRASE中国人民研究生”,-30>;
<“PHRASE中国大学研究生”,-10>。
(2)在reduce阶段
将map阶段输出的二元共现片段的频次和包含了所述二元共现片段内容的三元共现片段的频次进行叠加,作为二元共现片段的频次。以上述map阶段的例子来说明:
二元共现片段“PHRASE_中国_人民”及包含了该二元共现片段内容的三元共现片段键值对为:
<“PHRASE_中国_人民”,200>;
<“PHRASE中国人民大学”,-10>;
<“PHRASE中国人民研究生”,-30>;
则叠加后二元共现片段“PHRASE_中国_人民”的结果为:
<“PHRASE_中国_人民”,160>。
同理,二元共现片段“PHRASE_中国_大学”及包含了该二元共现片段内容的三元共现片段键值对为:
<“PHRASE_中国_大学”,110>;
<“PHRASE中国人民大学”,-10>;
<“PHRASE中国大学研究生”,-10>。
则叠加后二元共现片段“PHRASE_中国_大学”的结果为:
<“PHRASE_中国_大学”,90>。
因此,在reduce阶段,上述两个二元共现片段去重后的输出结果为:
<“PHRASE_中国_人民”,160>;
<“PHRASE_中国_大学”,90>。
该步骤实现了依次从高元共现片段到低元共现片段频次的修正。修正后同一个共现片段不会出现重复计算频次的现象,精确了多元共现片段频次的计数。
S104:根据多元共现片段的元数及频次选取一个或一个以上多元共现片段。
为了利用较少的存储空间存储尽可能多的内容,使存储的内容更全面,需要对S103中的多元共现片段进行选取,选中其中的一部分进行存储。对于S103中修正了频次的多元共现片段,一般随着片段数元数的增加,共现片段的个数会逐渐减少,为了保证存储的内容能够全面,在选取过程中,个数较少的高元共现片段一般可以全部选中;而低元共现片段由于总体数量较多,对于存储空间一定的情况来说,不能存储太多这样的低元共现片段,而需要依据一定的原则存储。一般原则可以是根据多元共现片段的元数和频次,存储低元共现片段中元数相对较多的低元共现片段。
所述的高元共现片段与低元共现片段的划分,需要根据对实际数据进行分析来实现。通常可以根据实际的数据设定一个预设值,将共现片段的元数小于或等于所述预设值的可以设置为低元共现片段,将共现片段的元数大于所述预设值的可以设置为高元共现片段。
对低元共现片段的选择方法可以是下述方法中的任意一种或几种的组合:
(1)对共现片段的频次设置一个阈值进行过滤。当共现片段的频次大于或者等于设置的阈值时,该共现片段可以被选中;当共现片段的频次小于设定的阈值时,该共现片段可以不被选中。
(2)可以设定在低元共现片段中需要选取的总数目P,将所有的低元共现片段按照频次进行降序排列,然后可以选取排列的共现片段中前面的P个多元共现片段;所述P为正整数,P的取值小于低元共现片段的总个数。
(3)可以按照共现片段元数的不同,分别进行排序,排序后再分别选取排序靠前的共现片段。例如,排序后可以再分别选取每个元数的共现片段中排在前q%的共现片段,所述q的范围包括:0<q<100。
例如:
经过步骤S3处理得到的多元共现片段中,最高元数为五元,且五元共现片段有1000个,四元共现片段有2000个,三元共现片段有5000个,二元共现片段有10000个。
按照上述选取方法,由于元数较高的五元共现片段和四元共现片段的数目较少,所以五元共现片段和四元共现片段可以全部采用。而三元共现片段和二元共现片段数目较多,需要进行筛选。
所述三元共现片段和二元共现片段筛选的方法可以是下述方法中的任意一种:
(1)对共现片段的频次设置一个阈值,假设为500000,那么三元共现片段和二元共现片段中频次大于或等于500000的可以被选中,而频次小于500000的可以不被选中。
(2)可以设定低元共现片段需要选取的总数目为2000条,则将所述的三元共现片段和二元共现片段按照频次进行降序排列,可以选择频次较多的前2000条多元共现片段。
(3)可以将三元共现片段按照出现的次数降序排列,选取前X条,例如1000条;二元的共现片段也可以降序排列,选取前Y条,例如500条。
(4)可以对三元共现片段按照出现的次数降序排列,可以选取前1000条,对二元共现片段出现的次数可以设置一个阈值50000,出现次数大于50000的可以被选中。
具体的选取方法可以通过实验的方式,结合机器的内存大小和搜索引擎的提升效果等因素进行综合考虑,确定选取方法。
在对低元共现片段进行筛选后,可以被选中的低元共现片段和可以全部采用的高元共现片段的集合即为选取的多元共现片段。
S105:将选取的多元共现片段及其对应的查询结果存储起来。
在选取得到了多元共现片段以后,通常将选取的多元共现片段及其对应的查询结果存储起来,这样可以为后续的查询请求快速提供查询结果。
该步骤存储的方法可以是:将选取的多元共现片段及其对应的查询结果都存放在内存中或高速缓冲存储器(cache)等存储速度较快的存储介质中。这样当再来查询请求时,可以根据存储的多元共现片段表及其对应的结果快速地返回查询结果。
该步骤存储的方法还可以是:先对选取的多元共现片段建立倒排索引,产生倒排列表。所述的倒排列表可以用于记录有哪些查询结果包含了该共现片段。再将所述倒排列表及共现片段的查询结果存放在相同的或者不同的存储器中,所述的存储器可以是内存、高速缓冲存储器(cache)或磁盘等存储器。这样当新的查询请求包含了存储的共现片段时,可以根据倒排列表快速查找到查询结果的存储地址,再根据所述存储地址找到查询结果,快速返回查询结果。
本申请的上述基于查询日志的数据处理方法,先对获取到的查询日志进行共现片段的频次统计和频次修正,再根据多元共现片段的元数和频次选取出一个或多个多元共现片段,将选取的多元共现片段及其对应的查询结果存储起来。所述的多元共现片段的各个片段包括检 索词、检索短语和检索条件,各个片段可以是查询请求中相邻的片段,也可以是不相邻的片段,所以共现片段的内容更加全面。修正后的共现片段的频次能够真实反映出查询请求中各个共现片段的频次。多元共现片段的选取同时考虑了多元共现片段的元数和频次,实现了利用尽量少的存储空间存储尽量多的查询请求和查询结果,使得存储的内容更全面。所以,同时再次接收到查询请求时,利用本申请的数据处理方法存储的数据的命中率得到提高。
图2是本申请基于查询日志的数据处理系统实施例的组成结构图。如图2所示,所述基于查询日志的数据存储系统包括:查询日志获取模块101、共现片段频次统计模块102、共现片段频次修正模块103、多元共现片段选取模块104和存储模块105。其中,
所述查询日志获取模块101,可以用于获取预定时间段搜索引擎的部分或全部的查询日志。
所述共现片段频次统计模块102,可以用于对所述查询日志中查询请求的多元共现片段的频次进行统计。
图3是本申请共现片段频次统计模块实施例的模块组成结构示意图。如图3所示,所述共现片段频次统计模块102,包括标识设置模块1021、频次计数模块1022。
所述标识设置模块1021,可以用于对所述查询日志中的每一查询请求设置一个标识。所述标识具有唯一性。
所述频次计数模块1022,可以用于根据所述标识统计具有相同多元共现片段的查询请求的个数,即统计每一多元共现片段出现的频次。
所述的多元共现片段可以包括2~N元共现片段,所述N为查询日志中查询请求的多元共现片段的最大片段元数。所述共现片段频次统计模块102对查询日志中的2~N元共现片段进行频次统计,可以利用map-reduce方法进行分析,包括:map(映射)阶段和reduce(化简)阶段。其中,
所述的map阶段,先对每个query设置一个标识。所述的标识具有唯一性。所述标识的选取方法可以是计算每个query的md5值或SHA值或RIPEMD值等。所述的标识可以用query id来表示。可以将每个query中共现片段的内容和该query的query id映射成一组新的键值对。所述键值对中,共现片段的内容可以作为键值对的key,query id可以作为键值对的value。
所述的reduce阶段,可以先将map阶段输出的内容相同的共现片段的键值对进行合并,再统计各相同共现片段出现的次数,并输出统计后的键值对。所述键值对中,共现片段的内容可以作为键值对的key,共现片段的频次可以作为键值对的value。
所述共现片段频次修正模块103,可以用于对共现片段频次统计模块102中统计好频次的共现片段进行多元共现片段频次的修正,使共现片段的频次计数精准。所述多元共现片段的 元数可以小于N。
图4是本申请共现片段频次修正模块实施例的组成结构示意图。如图4所示,所述共现片段频次修正模块103包括:排序模块1031、减法模块1032。
所述排序模块1031,可以用于将共现片段频次统计模块102中统计好频次的共现片段从高元到低元进行排序。
所述减法模块1032,可以用于对于k元共现片段频次的修正,在k元共现片段的频次基础上减去包含了k元共现片段内容的k+1元共现片段的频次,并作为k元共现片段的频次,所述k可以为(N-1)~2中的任一整数。
所述共现片段频次修正模块103对多元共现片段频次进行修正可以利用map-reduce方法来实现:
在map阶段,首先统计共现片段频次统计模块102中得到的k元共现片段及其频次,然后统计包含了k元共现片段内容的k+1元共现片段的频次,将上述k+1元共现片段的频次改为相应值的负值,再将上述k元和k+1元共现片段内容及频次作为键值对进行输出。所述键值对中,k元或k+1元共现片段的内容可以作为value,频次可以作为key。
在reduce阶段,可以将map阶段输出的k元共现片段的频次和包含了所述k元共现片段内容的k+1元共现片段的频次进行叠加,作为k元共现片段的频次。将叠加后的k元共现片段内容及频次作为键值对进行输出。所述键值对中,k元共现片段的内容可以作为value,叠加后的频次可以作为key。
所述多元共现片段选取模块104,可以用于对多元共现片段频次修正模块103得到的多元共现片段根据多元共现片段的元数和频次,选取多元共现片段。
图5是本申请多元共现片段选取模块实施例的组成结构示意图。如图5所示,所述多元共现片段选取模块104,包括:第一设置模块1041、第一选取模块1042。
所述第一设定模块1041,可以用于根据第一预设值,将共现片段的元数小于或等于所述第一预设值的设置为低元共现片段,将共现片段的元数大于所述第一预设值的可以设置为高元共现片段。所述第一预设值可以根据实际的实验数据进行选取。
所述第一选取模块1042,可以用于根据多元根据共现片段的元数及频次选取所述低元共现片段和所述高元共现片段。
图6是本申请第一选取模块实施例的组成结构示意图。如图6所示,所述第一选取模块1042,又包括:低元共现片段选取模块10421、高元共现片段选取模块10422。
所述高元共现片段选取模块10422,可以用于选取所述高元共现片段。
所述低元共现片段选取模块10421,可以采用下述方法中的任意一种或几种的组合选取 所述低元共现片段:
(1)可以对共现片段的频次设置一个阈值进行过滤。当共现片段的频次大于或者等于设置的阈值时,该共现片段可以被选中;当共现片段的频次小于设定的阈值时,该共现片段可以不被选中;
(2)可以设定在低元共现片段中需要选取的总数目P,将所有的低元共现片段按照频次进行降序排列,然后选取排列的共现片段中前面的P个多元共现片段;所述P为正整数,P的取值小于低元共现片段的总个数;
(3)可以按照共现片段元数的不同,分别进行排序,排序后再分别选取排序靠前的共现片段。例如,可以排序后再分别选取每个元数的共现片段中排在前q%的共现片段,所述q的范围包括:0<q<100。
所述存储模块105,可以用于将多元共现片段选取模块104选取的多元共现片段及其对应的查询结果存储起来。
所述存储模块105,对多元共现片段选取模块104选取的多元共现片段及其对应的查询结果进行存储时,存储的方法可以是下述方法中的任意一种:
(1)可以将选取的多元共现片段及其对应的查询结果都存放在内存中或高速缓冲存储器中;
(2)可以先对选取的多元共现片段建立倒排索引,产生到排列表。所述的倒排列表可以用于记录有哪些查询结果包含了该共现片段。再将所述倒排列表及共现片段对应的查询结果存放在相同的或者不同的存储器中,所述的存储器可以是内存、高速缓冲存储器或磁盘等存储器。
本申请基于查询日志的数据处理系统与本申请的数据处理方法相对应,可以实现本申请的数据处理方法,利用尽量少的存储空间存储尽量多的查询请求和查询结果,存储的内容更全面。再次接收到查询请求时,利用本申请的数据处理系统存储的数据的命中率得到提高。
图7是利用本申请数据处理方法的数据进行查询的方法流程图。如图7所示,当再次接收到查询请求时,查询方法包括:
S201:将查询请求的内容和存储的多元共现片段进行匹配,并筛选匹配成功的多元共现片段。
在接收到新的查询请求时,可以将所述查询请求的内容和存储的多元共现片段进行匹配,并筛选匹配成功的多元共现片段。
首先根据接收到的查询请求,可以列举出所述查询请求中的多元共现片段,可以将所述多元共现片段存放在未处理的集合中,从低元到高元依次将多元共现片段未处理集合中的多 元共现片段与存储的多元共现片段进行匹配;若能匹配成功,则将所述匹配成功的多元共现片段可以存放至已处理集合并可以将所述匹配成功的多元共现片段扩展至包含了该多元共现片段内容的更高元共现片段,将所述的更高元共现片段与存储的多元共现片段可以进行匹配;若不能匹配成功,则匹配可以中止并可以将所述多元共现片段存放至已处理的集合中,再将下一个未处理的多元共现片段与存储的共现片段进行匹配,直至已处理的集合中包含了查询请求的所有多元共现片段。统计匹配成功的多元共现片段,并按一定的筛选策略筛选匹配成功的多元共现片段。
所述的筛选策略可以是选取高元共现片段策略,又称为尽量匹配高元共现片段策略;包括:可以选取匹配成功的高元共现片段;所述筛选策略还可以是选取低元共现片段策略,又称为尽量多地匹配多元共现片段策略,包括可以选取匹配成功的低元共现片段。
所述匹配成功的高元共现片段和匹配成功的低元共现片段的划分需要根据实际的数据才划分,通常根据实际的数据设定一个预设值,将匹配成功的共现片段的元数小于或等于所述预设值的设置为匹配成功的低元共现片段,将匹配成功的共现片段的元数大于所述预设值的设置为匹配成功的高元共现片段。
例如:
假设S104中选取出的多元共现片段包含:
“PHRASE中国人民大学”、“PHRASE中国人民”、“PHRASE大学研究生”;
接收到的查询请求的内容为:“中国人民大学研究生”;
根据接收到的查询请求的内容,列举出多元共现片段,包括:二元共现片段“中国_人民”、“中国大学”、“中国研究生”、“人民大学”、“人民研究生”、“大学研_____究生”等,三元共现片段“中国_人民_大学”、“中国_人民_研究生”、“中国_大学_研究生”、“人民_大学_研究生”等,四元共现片段“中国_人民_大学_研究生”。将上述2~4元共现片段放置在一个集合中,所述集合为未处理的集合。
从查询请求中的二元共现片段“中国_人民”开始与存储的多元共现片段进行匹配,该二元共现片段能够实现与存储的多元共现片段的匹配,则将所述二元共现片段“中国_人民”存放至另一个集合中,所述的集合为已处理集合。将所述的匹配成功的二元共现片段“中国_人民”继续扩展至三元共现片段与存储的多元共现片段进行匹配。所述的扩展的三元共现片段包括:“中国_人民_大学”和“中国_人民_研究生”。所述的三元共现片段“中国_人民_研究生”不能与存储的多元共现片段匹配,则该三元共现片段“中国_人民_研究生”不再继续扩展,匹配中止并将所述三元共现片段“中国_人民_研究生”存放至已处理集合;而“中国_人民_大学”能够与存储的多元共现片段匹配成功,则将所述三元共现片段“中国_ 人民_大学”存放至已处理集合,并将所述的匹配成功的三元共现片段“中国_人民_大学”继续扩展至四元共现片段“中国_人民_大学_研究生”与存储的多元共现片段进行匹配,所述的四元共现片段“中国_人民_大学_研究生”不能与存储的多元共现片段匹配成功,则匹配中止,将所述四元共现片段“中国_人民_大学_研究生”存放至已处理集合。再选取下一个二元共现片段“中国_大学”与存储的多元共现片段进行匹配,不能匹配成功,则匹配中止并将所述二元共现片段“中国_大学”存放在已处理集合中。以同样的方法将查询请求中其他多元共现片段与存储的共现片段进行匹配,若能匹配成功,则将所述匹配成功的多元共现片段存放至已处理集合并将所述匹配成功的多元共现片段扩展至更高元共现片段与存储的多元共现片段进行匹配;若不能匹配成功,则匹配中止并将所述多元共现片段存放至已处理的集合中。当已处理的集合中包含了查询请求的所有共现片段,则匹配过程结束。统计匹配成功的多元共现片段,所述统计成功的多元共现片段包括“中国_人民”、“中国_人民_大学”、“大学研究生”。
按照一定的筛选策略筛选匹配成功的多元共现片段。设定预设值为2,则匹配成功的多元共现片段中,二元共现片段为匹配成功的低元共现片段,三元共现片段为匹配成功的三元共现片段。所述筛选策略可以是选取高元共现片段策略,则筛选出的匹配成功的多元共现片段包括:三元共现片段“中国_人民_大学”;所述筛选策略还可以是选取低元共现片段策略,则筛选的匹配成功的多元共现片段包括:二元共现片段“中国_人民”和“大学_研究生”。
S202:为所述筛选的匹配成功的多元共现片段查找存储的查询结果。
由于S6中对S201中所述筛选的匹配成功的多元共现片段及其对应的查询结果进行了存储,所以对于S201中筛选的匹配成功的多元共现片段,可以根据存储的查询结果快速查找到匹配成功的共现片段所对应的查询结果。
S203:为查询请求返回所述查询结果。
若S201中所述查询请求的内容与存储的多元共现中的一个共现片段可以完全匹配,则可以将该匹配成功的共现片段对应的查询结果作为查询请求的查询结果,并返回所述查询结果。
若S201中所述筛选的匹配成功的多元共现片段包括2个或2个以上,则所述为查询请求返回查询结果可以包括:将2个或2个以上的多元共现片段查找到的查询结果进行求交集运算,得到查询结果;为查询请求返回所述运算得到的查询结果。
若接收到的查询请求在经过S201处理后,存在没有与存储的多元共现片段匹配成功的至少部分片段,则可以对所述没有匹配成功的至少部分片段执行完整的查询过程,获取对应的查询结果。将筛选的匹配成功的共现片段所对应的查询结果和根据所述至少部分片段执行 查询过程的结果求交集,可以将所述交集作为查询请求的查询结果并返回。所述筛选的匹配成功的共现片段可以是一个共现片段,也可以是2个或2个以上的共现片段。
上述利用本申请数据处理方法的数据进行查询的方法,充分利用了本申请数据处理方法的数据,能够实现查询请求内容与存储的共现片段的匹配,根据匹配的共现片段快速查找到相应的查询结果并返回。
图8是利用本申请数据处理系统的数据进行查询的系统实施例的组成结构图。如图8所示,所述的查询系统实施例包括:查询请求匹配模块201、查询结果查找模块202、查询结果返回模块203。其中,
所述查询请求匹配模块201,可以用于将接收到的查询请求的内容与存储的多元共现片段进行匹配,并筛选匹配成功的多元共现片段。
图9是本申请查询请求匹配模块实施例的组成结构示意图。如图9所示,所述查询请求匹配模块201,包括:匹配模块2011、筛选模块2012。
所述匹配模块2011,可以用于将查询请求的共现片段与存储的共现片段进行匹配,得到匹配成功的多元共现片段。
图10是本申请匹配模块实施例的组成结构示意图。如图10所示,所述匹配模块2011,包括:片段列举模块20111、片段排序模块20112、片段匹配模块20113、片段扩展模块20114。
所述片段列举模块20111,可以用于根据所述查询请求,列举出所述查询请求中的多元共现片段。
所述片段排序模块20112,可以用于将片段列举模块20111列举出的多元共现片段从低元到高元依次排序,并输入至片段匹配模块20113。
所述片段匹配模块20113,可以用于将所述多元共现片段与存储的多元共现片段进行匹配,若能匹配成功,则可以将所述匹配成功的多元共现片段输入至片段扩展模块20114;若不能匹配成功,则匹配可以中止,将下一个多元共现片段与存储的共现片段进行匹配,直至查询请求的多元共现片段匹配完毕。
所述片段扩展模块20114,可以用于将所述片段匹配模块20113中匹配成功的多元共现片段扩展至包含了该多元共现片段内容的更高元共现片段,并将所述的更高元共现片段返回至片段匹配模块20113。
图11是本申请筛选模块实施例的组成结构示意图。如图11所示,所述筛选模块2012,包括:第二设置模块20121、第二选取模块20122。
所述第二设置模块20121,可以用于根据第二预设值,将匹配成功的共现片段的元数小于或等于所述第二预设值的设置为匹配成功的低元共现片段,将匹配成功的共现片段的元数 大于所述第二预设值的可以设置为匹配成功的高元共现片段。
所述第二选取模块20122可以采用下述策略对匹配成功的多元共现片段进行选取:
选取高元共现片段策略,所述选取高元共现片段策略可以包括选取所述匹配成功的高元共现片段;
或,
选取低元共现片段策略,所述选取低元共现片段的策略可以包括选取所述匹配成功的低元共现片段。
所述查询结果查找模块202,可以用于为查询请求匹配模块201中筛选的匹配成功的多元共现片段根据存储模块105中存储的多元共现片段和对应的查询结果,查找到存储的查询结果。
所述查询结果返回模块203,可以用于为查询请求返回所述查询结果。
图12是本申请查询结果返回模块实施例组成结构示意图。如图12所示,所述查询结果返回模块203,包括返回模块2031。所述返回模块2031,可以用于返回所述查询请求的查询结果。
当查询请求匹配模块201中为查询请求的所有内容可以完整地匹配成功存储的多元共现表中的一个共现片段时,可以将查询结果查找模块202中该匹配成功的共现片段对应的查询结果作为查询请求的查询结果,查询结果返回模块2031返回所述查询结果。
当查询请求匹配模块201中筛选的匹配成功的多元共现片段包括2个或2个以上时,所述查询结果返回模块203还可以包括:运算模块2032。所述运算模块2032,可以用于将查询结果查找模块202查找到的2个或2个以上多元共现片段对应的查询结果进行求交集运算。相应地,所述返回模块2031,可以用于为查询请求返回所述求交集运算得到的结果。
当接收到的查询请求在经过查询请求匹配模块201处理后,存在没有匹配成功的共现片段时,所述查询系统还可以包括:查询执行模块204。所述查询执行模块204,可以用于对所述没有匹配成功的共现片段执行查询过程。相应地,所述运算模块2032,可以用于将查询结果查找模块202中查找到的匹配成功的共现片段对应的查询结果和所述查询执行模块204的结果进行求交集运算。所述返回模块2031,可以用于为查询请求返回所述求交集运算得到的结果。所述匹配成功的共现片段可以是一个共现片段,也可以是2个或2个以上的共现片段。
上述利用本申请数据处理方法的数据进行查询的系统与查询方法相对应,能够实现利用本申请数据处理方法的数据的查询方法,将查询请求内容与存储的共现片段相匹配,根据匹配的共现片段快速查找到相应的查询结果并返回。
本说明书中,由于系统实施例基本相似于方法实施例,所以描述的比较简单,相关之处 参见方法实施例的部分说明即可。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (30)
1.一种基于查询日志的数据处理方法,其特征在于,包括:
获取预定时间段中搜索引擎的部分或全部的查询日志;
对所述查询日志中的查询请求的多元共现片段频次进行统计;
对于每一多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;
根据多元共现片段的元数及频次选取一个或一个以上多元共现片段;
将选取的多元共现片段及其对应的查询结果存储起来。
2.如权利要求1所述的一种基于查询日志的数据处理方法,其特征在于,所述对多元共现片段频次进行统计,包括:对每一查询请求设置一个标识,利用所述标识统计每一共现片段在查询日志的查询请求中出现的频次;所述的标识具有唯一性。
3.如权利要求2所述的一种基于查询日志的数据处理方法,其特征在于,利用所述标识统计每一共现片段在查询日志的查询请求中出现的频次具体包括:
对于每个查询请求,输出每个查询请求中多元共现片段和该查询请求的标识组成的键值对;
将内容相同的n元共现片段的键值对进行合并,并利用所述标识统计每一n元共现片段的频次;所述n为整数,2≤n≤N,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
4.如权利要求2所述的一种基于查询日志的数据处理方法,其特征在于,所述对每一查询请求设置一个标识,包括:计算每一查询请求的信息-摘要算法5的值或者安全散列算法的值或RACE原始完整性校验消息摘要的值,将计算得到的值设置为该查询请求的标识。
5.如权利要求1所述的一种基于查询日志的数据处理方法,其特征在于,对所述多元共现片段的频次进行修正,包括:对元数小于N的多元共现片段的频次进行修正,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
6.如权利要求1所述的一种基于查询日志的数据处理方法,其特征在于,对于所述多元共现片段的频次进行修正,包括:
按照元数从高到低的顺序依次对元数小于N的多元共现片段的频次进行修正,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
7.如权利要求6所述的一种基于查询日志的数据处理方法,其特征在于,对所述多元共现片段的频次进行修正,包括:
将统计的k元共现片段的频次减去包含k元共现片段内容的k+1元共现片段的频次,作为k元共现片段修正后的频次;所述k为整数,2≤k≤(N-1)。
8.如权利要求1所述的一种基于查询日志的数据处理方法,其特征在于,所述根据多元共现片段的元数及频次选取一个或一个以上多元共现片段,包括:
根据第一预设值,将共现片段的元数小于或等于所述第一预设值的设置为低元共现片段,将共现片段的元数大于所述第一预设值的设置为高元共现片段;
根据共现片段的元数及频次选取所述低元共现片段和高元共现片段。
9.如权利要求8所述的一种基于查询日志的数据处理方法,其特征在于,所述根据共现片段的元数及频次选取低元共现片段和高元共现片段,包括:
选取所述高元共现片段;
采用下列方式A-C中的一种或几种的组合选取所述低元共现片段:
A:对共现片段的频次设置一个阈值进行过滤;当共现片段的频次大于或者等于设置的阈值时,该共现片段被选中;
B:设定在低元共现片段中需要选取的总数目P,将所有的低元共现片段按照频次进行降序排列,然后选取排列的共现片段中前面的P个多元共现片段;所述P为正整数,P的取值小于低元共现片段的总个数;
C:按照共现片段元数的不同,分别进行排序,排序后再分别选取每个元数的共现片段中排在前q%的共现片段,所述q的范围包括:0<q<100。
10.如权利要求1所述的一种基于查询日志的数据处理方法,其特征在于,所述将选取的多元共现片段及其查询结果存储起来,包括:
将选取的多元共现片段及其查询结果存放在内存中或高速缓冲存储器中;
或,
对选取的多元共现片段建立倒排索引,产生倒排列表,将所述倒排列表及共现片段的查询结果存放在相同的或者不同的存储器中,所述的存储器包括内存、高速缓冲存储器、磁盘。
11.如权利要求3、5、6、7中任意一项所述的一种基于查询日志的数据处理方法,其特征在于,所述查询日志中查询请求的多元共现片段的最大片段元数的确定方法,包括:
将查询日志中每个查询请求中检索词和检索条件的总个数作为每个查询请求对应的最小粒度的片段数,将最小粒度的片段数中的最大值作为多元共现片段的最大片段元数。
12.一种基于查询日志的数据处理系统,其特征在于,包括:查询日志获取模块、共现片段频次统计模块、共现片段频次修正模块、多元共现片段选取模块和存储模块;其中,
所述查询日志获取模块,用于获取预定时间段搜索引擎的部分或全部的查询日志;
所述共现片段频次统计模块,用于对所述查询日志中查询请求的多元共现片段的频次进行统计;
所述共现片段频次修正模块,用于对共现片段频次统计模块中每一统计好频次的多元共现片段,利用该多元共现片段在元数更高的共现片段中的出现频次对所述多元共现片段的频次进行修正;
所述多元共现片段选取模块,用于对共现片段频次修正模块得到的多元共现片段根据多元共现片段的元数和频次选取一个或一个以上多元共现片段;
所述存储模块,用于将多元共现片段选取模块选取的多元共现片段及其对应的查询结果存储起来。
13.如权利要求12所述的一种基于查询日志的数据处理系统,其特征在于,所述多元共现片段频次统计模块包括:标识设置模块、频次计数模块;
所述标识设置模块,用于对每一查询请求设置标识,所述的标识具有唯一性;
所述频次计数模块,用于根据所述标识统计各个共现片段出现的频次。
14.如权利要求12所述的一种基于查询日志的数据处理系统,其特征在于,所述多元共现片段的元数小于N,所述N为查询日志中查询请求的多元共现片段的最大片段元数。
15.如权利要求12所述的一种基于查询日志的数据处理系统,其特征在于,所述多元共现片段频次修正模块包括:排序模块、减法模块;
所述排序模块,用于将元数小于N的多元共现片段按照元数从高到低的顺序进行排列,并依次输入到减法模块中进行处理;
所述减法模块,用于将统计的k元共现片段的频次减去包含k元共现片段内容的k+1元共现片段的频次,作为k元共现片段修正后的频次;所述k为整数,2≤k≤(N-1);
所述N为查询日志中查询请求的多元共现片段的最大片段元数。
16.如权利要求12所述的一种基于查询日志的数据处理系统,其特征在于,所述多元共现片段选取模块包括:第一设置模块、第一选取模块;
所述第一设置模块,用于根据第一预设值将共现片段的元数小于或等于所述第一预设值的设置为低元共现片段,并根据所述第一预设值将共现片段的元数大于所述第一预设值的设置为高元共现片段;
所述第一选取模块,用于根据多元根据共现片段的元数及频次选取所述低元共现片段和所述高元共现片段。
17.如权利要求16所述的一种基于查询日志的数据处理系统,其特征在于,所述第一选取模块包括:低元共现片段选取模块、高元共现片段选取模块;
所述低元共现片段选取模块,采用下列方式A-C中的一种或几种的组合选取低元共现片段:
A:对共现片段的频次设置一个阈值进行过滤;当共现片段的频次大于或者等于设置的阈值时,该共现片段被选中;当共现片段的频次小于设定的阈值时,该共现片段不被选中;
B:设定在低元共现片段中需要选取的总数目P,将所有的低元共现片段按照频次进行降序排列,然后选取排列的共现片段中前面的P个多元共现片段;所述P为正整数,P的取值小于低元共现片段的总个数;
C:按照共现片段元数的不同,分别进行排序,排序后再分别选取每个元数的共现片段中排在前q%的共现片段,所述q的范围包括:0<q<100;
所述高元共现片段选取模块,用于选取所述高元共现片段。
18.如权利要求12所述的一种基于查询日志的数据处理系统,其特征在于,所述存储模块采用下述存储方法存储选取的多元共现片段及其对应的结果:
将选取的多元共现片段及其对应的查询结果存放在内存中或高速缓冲存储器中;
或,
对多元共现片段建立倒排索引,产生倒排列表;将所述倒排列表及共现片段对应的查询结果存放在相同的或者不同的存储器中,所述的存储器包括内存、高速缓冲存储器或磁盘。
19.一种利用权利要求1~11中任一项所述方法获得的数据进行查询的方法,其特征在于,包括:
将查询请求的内容和存储的多元共现片段进行匹配,并筛选匹配成功的多元共现片段;
为所述筛选的匹配成功的多元共现片段查找存储的查询结果;
为查询请求返回所述查询结果。
20.如权利要求19所述的查询方法,其特征在于,当所述筛选的匹配成功的多元共现片段包括2个或2个以上时,所述为查询请求返回查询结果包括:
将查找到的查询结果进行求交集运算;
为查询请求返回所述求交集运算得到的结果。
21.如权利要求19所述的查询方法,其特征在于,当存在没有与存储的多元共现片段匹配成功的片段时,所述查询方法还包括:
对所述没有匹配成功的片段执行查询过程;
相应地,所述为查询请求返回查询结果包括:
将筛选的匹配成功的多元共现片段对应的查询结果与根据所述没有匹配成功片段执行查询过程的结果进行求交集运算;为查询请求返回所述求交集运算得到的查询结果;所述筛选的匹配成功的多元共现片段包括一个多元共现片段或一个以上多元共现片段。
22.如权利要求19所述的查询方法,其特征在于,所述将查询请求的内容和存储的多元共现片段进行匹配,包括:
根据接收到的查询请求,列举出所述查询请求中的多元共现片段;
将所述多元共现片段从低元到高元依次与存储的多元共现片段进行匹配,若能匹配成功,则将所述匹配成功的多元共现片段扩展至包含了该多元共现片段内容的更高元共现片段,将所述的更高元共现片段与存储的多元共现片段进行匹配;若不能匹配成功,则匹配中止,再将下一个多元共现片段与存储的共现片段进行匹配,直至查询请求的多元共现片段匹配完毕。
23.如权利要求19所述的查询方法,其特征在于,所述筛选匹配成功的多元共现片段,包括:
根据第二预设值,将所述匹配成功的共现片段的元数小于或等于所述第二预设值的设置为匹配成功的低元共现片段,将所述匹配成功的共现片段的元数大于所述第二预设值的设置为匹配成功的高元共现片段;
筛选的策略包括:
选取高元共现片段策略,所述选取高元共现片段策略包括选取所述匹配成功的高元共现片段;
或,
选取低元共现片段策略,所述选取低元共现片段策略包括选取所述匹配成功的低元共现片段。
24.一种利用权利要求12~18中任一项所述系统获得的数据进行查询的系统,其特征在于,包括:查询请求匹配模块、查询结果查找模块、查询结果返回模块;其中,
所述查询请求匹配模块,用于将接收到的查询请求的内容与存储的多元共现片段进行匹配,并筛选匹配成功的多元共现片段;
所述查询结果查找模块,用于为查询请求匹配模块中筛选的匹配成功的多元共现片段根据存储模块中存储的多元共现片段和对应的查询结果,查找到存储的查询结果;
所述查询结果返回模块,用于为查询请求返回所述查询结果。
25.如权利要求24所述的一种查询系统,其特征在于,所述查询结果返回模块,包括返回模块,用于返回所述查询请求的查询结果。
26.如权利要求25所述的一种查询系统,其特征在于,当所述查询请求匹配模块中,筛选的匹配成功的多元共现片段包括2个或2个以上时,所述查询结果返回模块还包括:运算模块;
所述运算模块,用于将查询结果查找模块中查找到2个或2个以上多元共现片段对应的查询结果进行求交集运算;
相应地,所述返回模块,用于为查询请求返回所述求交集运算得到的结果。
27.如权利要求25所述的一种查询系统,其特征在于,当所述查询请求匹配模块中,存在没有匹配成功的片段时,所述查询系统还包括查询执行模块;
所述查询执行模块,用于对所述查询请求匹配模块中没有匹配成功的片段执行查询过程;
相应地,
所述运算模块,用于将查询结果查找模块中查找到的匹配成功的多元共现片段对应的查询结果与查询执行模块中执行查询过程的结果进行求交集运算;
所述返回模块,用于为查询请求返回所述交集运算得到的结果;
所述匹配成功的多元共现片段包括一个多元共现片段或一个以上多元共现片段。
28.如权利要求24所述的一种查询系统,其特征在于,所述查询请求匹配模块,包括:匹配模块、筛选模块;
所述匹配模块,用于将查询请求的共现片段与存储的共现片段进行匹配,得到匹配成功的多元共现片段;
所述筛选模块,用于筛选所述匹配成功的多元共现片段。
29.如权利要求28所述的一种查询系统,其特征在于,所述匹配模块包括:片段列举模块、片段排序模块、片段匹配模块、片段扩展模块;
所述片段列举模块,用于根据所述查询请求,列举出所述查询请求中的多元共现片段;
所述片段排序模块,用于将所述多元共现片段从低元到高元依次排序,并输入至片段匹配模块;
所述片段匹配模块,用于将所述多元共现片段与存储的多元共现片段进行匹配,若能匹配成功,则将所述匹配成功的多元共现片段输入至片段扩展模块;若不能匹配成功,则匹配中止,将下一个多元共现片段与存储的共现片段进行匹配,直至查询请求的多元共现片段匹配完毕;
所述片段扩展模块,用于将所述匹配成功的多元共现片段扩展至包含了该多元共现片段内容的更高元共现片段,并将所述的更高元共现片段返回至片段匹配模块。
30.如权利要求28所述的一种查询系统,其特征在于,所述筛选模块包括:第二设置模块、第二选取模块;
所述第二设置模块,用于根据第二预设值,将匹配成功的共现片段的元数小于或等于所述第二预设值的设置为匹配成功的低元共现片段,将匹配成功的共现片段的元数大于所述第二预设值的设置为匹配成功的高元共现片段;
所述第二选取模块采用下述策略对匹配成功的多元共现片段进行选取:
选取高元共现片段策略,所述选取高元共现片段策略包括选取所述匹配成功的高元共现片段;
或,
选取低元共现片段策略,所述选取低元共现片段策略包括选取所述匹配成功的低元共现片段。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410026245.1A CN104794129B (zh) | 2014-01-20 | 2014-01-20 | 一种基于查询日志的数据处理方法和系统 |
HK15108150.2A HK1207451A1 (zh) | 2014-01-20 | 2015-08-24 | 種基於查詢日誌的數據處理方法和系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410026245.1A CN104794129B (zh) | 2014-01-20 | 2014-01-20 | 一种基于查询日志的数据处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104794129A true CN104794129A (zh) | 2015-07-22 |
CN104794129B CN104794129B (zh) | 2018-07-03 |
Family
ID=53558923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410026245.1A Active CN104794129B (zh) | 2014-01-20 | 2014-01-20 | 一种基于查询日志的数据处理方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104794129B (zh) |
HK (1) | HK1207451A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912636A (zh) * | 2016-04-08 | 2016-08-31 | 金蝶软件(中国)有限公司 | 一种基于Map/Reduce的ETL数据处理方法和装置 |
CN106649584A (zh) * | 2016-11-18 | 2017-05-10 | 北京奇虎科技有限公司 | 一种主从式数据库系统中的索引处理方法和装置 |
CN109766362A (zh) * | 2018-12-28 | 2019-05-17 | 北京字节跳动网络技术有限公司 | 数据处理方法及装置 |
CN111814423A (zh) * | 2020-09-08 | 2020-10-23 | 北京安帝科技有限公司 | 一种日志的格式化方法、装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118555A (zh) * | 2007-09-10 | 2008-02-06 | 腾讯科技(深圳)有限公司 | 关键词的联想信息生成系统和生成方法 |
US20090187561A1 (en) * | 2008-01-23 | 2009-07-23 | Samsung Electronics Co., Ltd. | Content search method and system |
CN102043845A (zh) * | 2010-12-08 | 2011-05-04 | 百度在线网络技术(北京)有限公司 | 一种用于基于查询序列簇提取核心关键词的方法与设备 |
CN102541897A (zh) * | 2010-12-14 | 2012-07-04 | 百度在线网络技术(北京)有限公司 | 一种用于基于检索粒度来优化查询序列的设备及其方法 |
CN103186556A (zh) * | 2011-12-28 | 2013-07-03 | 北京百度网讯科技有限公司 | 得到和搜索结构化语义知识的方法及对应装置 |
-
2014
- 2014-01-20 CN CN201410026245.1A patent/CN104794129B/zh active Active
-
2015
- 2015-08-24 HK HK15108150.2A patent/HK1207451A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101118555A (zh) * | 2007-09-10 | 2008-02-06 | 腾讯科技(深圳)有限公司 | 关键词的联想信息生成系统和生成方法 |
US20090187561A1 (en) * | 2008-01-23 | 2009-07-23 | Samsung Electronics Co., Ltd. | Content search method and system |
CN102043845A (zh) * | 2010-12-08 | 2011-05-04 | 百度在线网络技术(北京)有限公司 | 一种用于基于查询序列簇提取核心关键词的方法与设备 |
CN102541897A (zh) * | 2010-12-14 | 2012-07-04 | 百度在线网络技术(北京)有限公司 | 一种用于基于检索粒度来优化查询序列的设备及其方法 |
CN103186556A (zh) * | 2011-12-28 | 2013-07-03 | 北京百度网讯科技有限公司 | 得到和搜索结构化语义知识的方法及对应装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912636A (zh) * | 2016-04-08 | 2016-08-31 | 金蝶软件(中国)有限公司 | 一种基于Map/Reduce的ETL数据处理方法和装置 |
CN105912636B (zh) * | 2016-04-08 | 2020-04-07 | 金蝶软件(中国)有限公司 | 一种基于Map/Reduce的ETL数据处理方法和装置 |
CN106649584A (zh) * | 2016-11-18 | 2017-05-10 | 北京奇虎科技有限公司 | 一种主从式数据库系统中的索引处理方法和装置 |
CN106649584B (zh) * | 2016-11-18 | 2020-04-24 | 北京奇虎科技有限公司 | 一种主从式数据库系统中的索引处理方法和装置 |
CN109766362A (zh) * | 2018-12-28 | 2019-05-17 | 北京字节跳动网络技术有限公司 | 数据处理方法及装置 |
CN111814423A (zh) * | 2020-09-08 | 2020-10-23 | 北京安帝科技有限公司 | 一种日志的格式化方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104794129B (zh) | 2018-07-03 |
HK1207451A1 (zh) | 2016-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621174B2 (en) | Partitioned joins in analytical databases | |
EP2695087B1 (en) | Processing data in a mapreduce framework | |
US12189693B2 (en) | Method and system for document similarity analysis | |
US8843502B2 (en) | Sorting a dataset of incrementally received data | |
CN109325032B (zh) | 一种索引数据存储及检索方法、装置及存储介质 | |
CN108268586B (zh) | 跨多数据表的数据处理方法、装置、介质和计算设备 | |
US11074242B2 (en) | Bulk data insertion in analytical databases | |
US10649997B2 (en) | Method, system and computer program product for performing numeric searches related to biometric information, for finding a matching biometric identifier in a biometric database | |
EP3072076B1 (en) | A method of generating a reference index data structure and method for finding a position of a data pattern in a reference data structure | |
US10915534B2 (en) | Extreme value computation | |
CN104794129B (zh) | 一种基于查询日志的数据处理方法和系统 | |
US20120254173A1 (en) | Grouping data | |
CN109033248B (zh) | 存储数据记录的方法与装置、查询数据记录的方法和装置 | |
US8909897B2 (en) | Method for generating a delta for compressed data | |
CN112612790B (zh) | 卡号配置方法、装置、设备及计算机存储介质 | |
CN116821053B (zh) | 数据上报方法、装置、计算机设备和存储介质 | |
US9830355B2 (en) | Computer-implemented method of performing a search using signatures | |
CN109992687B (zh) | 人脸数据的搜索方法、装置、电子设备及可读存储介质 | |
US11036678B2 (en) | Optimizing files stored in a distributed file system | |
Rastogi et al. | Gpu accelerated inexact matching for multiple patterns in dna sequences | |
Butakov et al. | Detecting text similarity on a scalable no-SQL database platform | |
CN113780302A (zh) | 一种评估特征有效性的方法及相关装置 | |
Al-Rasbi et al. | Can We Build a Search Engine over Spark? | |
Khan et al. | On efficiently summarizing a large dynamic graph | |
CN119691081A (zh) | 关系型数据库表同步方法以及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1207451 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |