CN105808605B - 一种搜索日志合并方法和系统 - Google Patents
一种搜索日志合并方法和系统 Download PDFInfo
- Publication number
- CN105808605B CN105808605B CN201410854740.1A CN201410854740A CN105808605B CN 105808605 B CN105808605 B CN 105808605B CN 201410854740 A CN201410854740 A CN 201410854740A CN 105808605 B CN105808605 B CN 105808605B
- Authority
- CN
- China
- Prior art keywords
- search
- log
- session
- server
- search log
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种搜索日志合并方法和装置。所述方法包括:前端服务器根据搜索客户端触发的搜索请求,生成标记本次搜索过程的Session ID;所述前端服务器按照Session ID标记所述搜索过程相关的前端搜索日志;后端服务器按照Session ID标记所述搜索过程相关的后端搜索日志;基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志。依据本发明可恶意获得同一个搜索过程在多个服务器上记录的搜索日志,进一步可以对同一搜索客户端的一个搜索过程进行分析,作为分析用户潜在搜索需求的依据。
Description
技术领域
本发明涉及搜索领域,具体涉及一种搜索日志合并方法,以及和一种搜索日志合并系统。
背景技术
搜索是网络常用的服务之一,目前,用户通常使用搜索网站搜索互联网信息。具体地,在搜索前端为用户提供搜索界面,并接收用户输入的查询关键词,然后搜索引擎根据查询关键词匹配网页或网络服务中包含该查询关键词的搜索结果,并将搜索结果排序后在用户终端展示给用户,用户通过点击搜索结果获取互联网信息。
为了提供更好的搜索服务,针对搜索过程中发生的各种搜索事件,搜索服务器按照时间先后顺序对搜索事件进行标记和记录,并用于进一步的分析。由于搜索服务器服务于海量搜索客户端,针对同一个搜索客户端记录的多个搜索事件之间可能会间隔其他搜索客户端的搜索事件,也即是同一个搜索客户端对应在搜索服务器记录的搜索事件的标记是不连续且不关联的,因此,无法针对一个搜索客户端的某次搜索过程进行分析,并且,无法对多个搜索服务器或是其他前端服务器记录的搜索事件结合进行分析。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的搜索日志合并方法和相应的搜索日志合并系统。
依据本发明的一个方面,提供了一种搜索日志合并方法,包括:
前端服务器根据搜索客户端触发的搜索请求,生成标记本次搜索过程的SessionID;
所述前端服务器按照Session ID标记所述搜索过程相关的前端搜索日志;
后端服务器按照Session ID标记所述搜索过程相关的后端搜索日志;
基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志。
可选地,所述方法还包括:
一个或多个垂直搜索服务器分别按照所述Session ID标记所述搜索过程相关的垂直搜索日志。
可选地,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志为,基于相同的Session ID合并所述前端搜索日志、所述后端搜索日志以及所述垂直搜索日志。
可选地,所述前端服务器用于向所述搜索客户端提供搜索页面,所述后端服务器用于向所述前端服务器提供搜索服务;
所述前端搜索日志记录根据所述搜索客户端的搜索请求触发的前端查询事件以及搜索结果点击事件;所述后端搜索日志记录根据所述前端服务器的搜索结果获取请求触发的后端查询事件以及将搜索结果推送给前端服务器的后端展示事件。
可选地,所述后端服务器按照Session ID标记所述搜索过程相关的后端搜索日志包括:
所述后端服务器接收所述前端服务器根据在所述搜索客户端触发的搜索请求生成携带所述Session ID的搜索结果获取请求;
从所述搜索结果获取请求中提取所述Session ID,并按照所述Session ID标记所述搜索过程相关的后端搜索日志。
可选地,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志为,所述前端服务器或所述后端服务器提取具备相同Session ID的所述前端搜索日志和所述后端搜索日志并进行合并。
可选地,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志包括:
解析所述前端搜索日志和所述后端搜索日志,提取其中表征所记录的事件的关键字段;
根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并。
可选地,所述关键字段包括查询关键词、和/或所述目标搜索结果所处页面区域、和/或所述目标搜索结果的URL,所述根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并包括:
将对应同一查询关键词的所述前端搜索日志和所述后端搜索日志进行合并;
和/或,将所述目标搜索结果所处页面区域对应为同一页面区域的前端搜索日志进行合并;
和/或,将所述目标搜索结果的URL对应同一类目标URL的前端搜索日志进行合并;
和/或,将所述目标搜索结果所处页面区域对应为同一页面区域的后端搜索日志进行合并。
可选地,所述前端搜索日志和所述后端搜索日志具备所记录的事件的事件类型,在所述根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并之前,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志还包括:
按照对应的事件类型所标识的事件先后顺序对所述前端搜索日志和所述后端搜索日志进行排序。
可选地,在所述根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并之前,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志还包括:
校验所述前端搜索日志和所述后端搜索日志中记录的关键字段是否一致。
依据本发明的另一个方面,提供了一种搜索日志合并系统,包括前端服务器和后端服务器;
所述前端服务器包括Session ID生成模块和前端日志标记模块;
所述Session ID生成模块,用于根据搜索客户端触发的搜索请求,生成标记本次搜索过程的Session ID;
所述前端日志标记模块,用于按照Session ID标记所述搜索过程相关的前端搜索日志;
所述后端服务器包括后端日志标记模块;
所述后端日志标记模块,用于按照Session ID标记所述搜索过程相关的后端搜索日志;
所述前端服务器或所述后端服务器还包括日志合并模块:
所述日志合并模块,用于基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志。
可选地,所述系统还包括垂直搜索服务器;
所述垂直搜索服务器包括垂直日志标记模块,所述垂直日志标记模块用于一个或多个垂直搜索服务器分别按照所述Session ID标记所述搜索过程相关的垂直搜索日志。
可选地,所述日志合并模块,具体用于基于相同的Session ID合并所述前端搜索日志、所述后端搜索日志以及所述垂直搜索日志。
可选地,所述前端服务器用于向所述搜索客户端提供搜索页面,所述后端服务器用于向所述前端服务器提供搜索服务;
所述前端搜索日志记录根据所述搜索客户端的搜索请求触发的前端查询事件以及搜索结果点击事件;所述后端搜索日志记录根据所述前端服务器的搜索结果获取请求触发的后端查询事件以及将搜索结果推送给前端服务器的后端展示事件。
可选地,所述后端日志标记模块包括:
请求生成子模块,用于所述后端服务器接收所述前端服务器根据在所述搜索客户端触发的搜索请求生成携带所述Session ID的搜索结果获取请求;
标记子模块,用于从所述搜索结果获取请求中提取所述Session ID,并按照所述Session ID标记所述搜索过程相关的后端搜索日志。
可选地,所述日志合并模块,具体用于
所述前端服务器或所述后端服务器提取具备相同Session ID的所述前端搜索日志和所述后端搜索日志并进行合并。
可选地,所述日志合并模块包括:
日志解析子模块,用于解析所述前端搜索日志和所述后端搜索日志,提取其中表征所记录的事件的关键字段;
搜索日志合并子模块,用于根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并。
可选地,所述关键字段包括查询关键词、和/或所述目标搜索结果所处页面区域、和/或所述目标搜索结果的URL,所述搜索日志合并包括:
第一合并子单元,用于将对应同一查询关键词的所述前端搜索日志和所述后端搜索日志进行合并;
和/或,第二合并子单元,用于将所述目标搜索结果所处页面区域对应为同一页面区域的前端搜索日志进行合并;
和/或,第三合并子单元,用于将所述目标搜索结果的URL对应同一类目标URL的前端搜索日志进行合并;
和/或,第四合并子单元,用于将所述目标搜索结果所处页面区域对应为同一页面区域的后端搜索日志进行合并。
可选地,所述前端搜索日志和所述后端搜索日志具备所记录的事件的事件类型,所述日志合并模块还包括:
排序子模块,用于按照对应的事件类型所标识的事件先后顺序对所述前端搜索日志和所述后端搜索日志进行排序。
可选地,所述日志合并模块还包括:
校验子模块,用于校验所述前端搜索日志和所述后端搜索日志中记录的关键字段是否一致。根据本发明实施例,前端服务器生成用于标记一次搜索过程的Session ID,并由前端服务器和后端服务器采用同一个Session ID对搜索日志进行标记,从而可以根据是否具备同一个Session ID将多个搜索日志关联并进行合并,从而可以获得同一个搜索过程在多个服务器上记录的搜索日志,进一步可以对同一搜索客户端的一个搜索过程进行分析,作为分析用户潜在搜索需求的依据,从而可以进一步挖掘用户在一系列和搜索引擎的交互行为中的特定行为模式,以优化搜索结果,有利于提高搜索效率,减少向搜索引擎发送搜索请求的次数,降低搜索服务器的负载。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例1的一种搜索日志合并方法流程图;
图2示出了根据本发明实施例2的一种搜索日志合并方法流程图;
图3示出了根据本发明实施例1的一种搜索日志合并系统结构框图;
图4示出了根据本发明实施例2的一种搜索日志合并系统结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,其示出了根据本发明实施例1的一种搜索日志合并方法实施例的流程图,所述方法具体可以包括:
步骤101,前端服务器根据搜索客户端触发的搜索请求,生成标记本次搜索过程的Session ID。
本发明实施例中,Session ID由前端服务器生成,用户在搜索客户端通过输入查询关键词触发搜索请求,前端服务器接收到搜索客户端的搜索请求后,生成用于标记本次搜索过程的Session ID,Session ID可以按照任意可实现的方式生成,仅需唯一标识本次搜索过程即可。例如,Session ID为a47d5a786fa38af1aa7aab722301ed7f,其格式类似于一个MD5值,其取值本身没有意义,只是一个16个字节的唯一的ID。
步骤102,所述前端服务器按照Session ID标记所述搜索过程相关的前端搜索日志。
前端服务器接收用户的搜索请求并记录了与搜索过程相关的前端搜索日志,前端搜索日志对发生在前端服务器的各种搜索事件进行记载,在生成Session ID后,采用Session ID对前端搜索日志进行标记。
步骤103,后端服务器按照Session ID标记所述搜索过程相关的后端搜索日志。
进一步将前端服务器生成的Session ID发送到后端服务器,或是由后端服务器主动获取前端生成的Session ID,后端服务器记录了与搜索过程相关的后端搜索日志,后端搜索日志对发生在后端服务器的各种搜索事件进行记载,在获取Session ID后,后端服务器进一步按照Session ID对后端搜索日志进行标记。
步骤104,基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志。
通过上述步骤,前端搜索日志和后端搜索日志采用了前端服务器生成的同一个Session ID进行标记,进一步可以获取具备相同Session ID的前后端日志进行合并。
根据本发明实施例,前端服务器生成用于标记一次搜索过程的Session ID,并由前端服务器和后端服务器采用同一个Session ID对搜索日志进行标记,从而可以根据是否具备同一个Session ID将多个搜索日志关联并进行合并,从而可以获得同一个搜索过程在多个服务器上记录的搜索日志,进一步可以对同一搜索客户端的一个搜索过程进行分析,作为分析用户潜在搜索需求的依据,从而可以进一步挖掘用户在一系列和搜索引擎的交互行为中的特定行为模式,以优化搜索结果,有利于提高搜索效率,减少向搜索引擎发送搜索请求的次数,降低搜索服务器的负载。
本发明实施例中,优选地,所述前端服务器用于向所述搜索客户端提供搜索页面,所述后端服务器用于向所述前端服务器提供搜索服务。
前端服务器接收搜索客户端发送的搜索请求并提取其中与搜索相关的参数发送给后端服务器,后端服务器按照搜索相关的参数进行搜索,并将搜索结果反馈给前端服务器,前端服务器根据搜索结果组织搜索页面后,反馈给搜素客户端加载得到展示搜索结果的搜索结果页面。
相应的,所述前端搜索日志记录根据所述搜索客户端的搜索请求触发的前端查询事件以及搜索结果点击事件,对应为前端查询日志以及前端点击日志;所述后端搜索日志记录根据所述前端服务器的搜索结果获取请求触发的后端查询事件以及将搜索结果推送给前端服务器的后端展示事件,对应为后端查询日志以及后端展示日志。
本发明实施例中,优选地,所述步骤103可以包括:
子步骤S11、所述后端服务器接收所述前端服务器根据在所述搜索客户端触发的搜索请求生成携带所述Session ID的搜索结果获取请求;
子步骤S12、从所述搜索结果获取请求中提取所述Session ID,并按照所述Session ID标记所述搜索过程相关的后端搜索日志。
前端服务器接收到搜索客户端触发的搜索请求,搜索请求SERP URL(搜索引擎结果页面URL)的形式发送给前端服务器,前端服务器将部分用户参数翻译成包括搜索关键词的搜索参数后,向后端服务器发送携带搜索参数的搜索结果获取请求,后端服务器按照搜索参数进行搜索。
生成的Session ID可以添加在搜索结果获取请求,后端服务器在提取搜索参数的同时提取Session ID,对记录后端服务器的搜索日志进行标记。
本发明实施例中,优选地,所述步骤104为,所述前端服务器或所述后端服务器提取具备相同Session ID的所述前端搜索日志和所述后端搜索日志并进行合并。
具体而言,所述步骤104可以包括:
子步骤S21、解析所述前端搜索日志和所述后端搜索日志,提取其中表征所记录的事件的关键字段;
子步骤S22、根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并。
具体对搜索日志进行合并时,可以根据后续分析搜索日志的需求进行合并,本发明实施例中,优选地,从前端搜索日志和后端搜索日志中提取关键字段,并按照关键字段进行合并。关键字段可以是根据分析搜索日志的需求确定的关键字段,例如,搜索日志所记录的事件发生的时间、事件类型、事件中包含的关键词、事件对应访问的URL等。
在本发明的一种优选实施例中,所述关键字段包括查询关键词、和/或所述目标搜索结果所处页面区域、和/或所述目标搜索结果的URL。
针对前端搜索日志,其记录了根据查询关键词触发的前端查询事件以及通过点击搜索结果发起的对搜索结果点击事件,对应可以从记录的搜索事件中提取查询关键词,从记录的搜索结果点击事件中提取访问的目标搜索结果、目标搜索结果对绑定的URL。
在具体的实现中,根据查询关键词可以通过多个不同的搜索引擎查询对应的搜索结果,例如,在常用词搜索引擎、长尾词搜索引擎或热点搜索引擎中分别获得的搜索结果,或根据查询关键词确定的推荐搜索结果。搜索结果展示页面中可以划分为多个不同的页面区域对不同搜索引擎获得的结果进行展示。因此,从记录的搜索结果点击事件中还可以进一步提取目标搜索结果在页面上展示的页面区域。
相应的,所述子步骤S22可以如下子步骤中的任意一个或多个子步骤。
子步骤S22-1,将对应同一查询关键词的所述前端搜索日志和所述后端搜索日志进行合并;
和/或,子步骤S22-2,将所述目标搜索结果所处页面区域对应为同一页面区域的前端搜索日志进行合并;
和/或,子步骤S22-3,将所述目标搜索结果的URL对应同一类目标URL的前端搜索日志进行合并;
和/或,子步骤S22-4,将所述目标搜索结果所处页面区域对应为同一页面区域的后端搜索日志进行合并。
先后在前端服务器发生的前端查询事件和在后端服务器发生的后端查询事件具备相同的查询关键词,因此可以将包含同一查询关键词的前端搜索日志和后端搜索日志进行合并,以对发生在前端和后端同一搜索过程进行分析;根据前端搜索日志记录的搜索结果点击事件所点击的目标搜索结果,将对应点击同一区域的目标搜索结果的前端搜索日志进行合并,以便于对该页面区域对应获取搜索结果的搜索引擎进行分析和优化;根据前端搜索日志记录的搜索结果点击事件所点击的目标搜索结果,将对应点击同一类URL的目标搜索结果的前端搜索日志进行合并,以便于对各分类的URL绑定的搜索结果的展示进行分析和优化;后端搜索日志记录了后端服务器的各个搜索引擎搜索的结果,不同的搜索引擎对应的搜索结果对应展示在搜索结果页面中的不同页面区域中,根据搜索结果对应所展示的页面区域,对展示在同一个页面区域的后端搜索日志进行合并。
本发明实施例中,优选地,所述前端搜索日志和所述后端搜索日志具备所记录的事件的事件类型,在所述根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并之前,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志还包括:
按照对应的事件类型所标识的事件先后顺序对所述前端搜索日志和所述后端搜索日志进行排序。
前端搜索日志和后端搜索日志可以具备对应记录的事件的事件类型,例如,前端搜索日志记录了前端查询事件和搜索结果点击事件,后端搜索日志记录了后端查询事件,实际中,搜索结果点击事件发生在前端查询事件以及后端查询事件之后,为了使合并后的日志中记录的各个事件按照合理的发生顺序罗列,可以在合并之前按照事件类型对前端搜索日志和后端搜索日志进行排序。
本发明实施例中,优选地,在所述根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并之前,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志还包括:
校验所述前端搜索日志和所述后端搜索日志中记录的关键字段是否一致。
有些字段在不同的原始日志中需要是相互匹配的,例如,前端点击日志与后端展示日志中的查询关键词应当是一致的,可以校验前端点击日志与后端展示日志中的查询关键词是否一致,用来进行完整性检查;后端展示日志中的URL必须与前端点击日志中URL匹配,通过校验的步骤发现日志系统中的异常情况,并对不一致的日志进行删除或其他预设处理。
上述对多路日志进行合并的过程可以通过MapReduce的方法实现,以下对其实现过程进行描述。
对来源于不同服务器的多路日志进行合并的核心在于所有跟某一次搜索查询相关的前后端日志都带上正确的Session ID。MapReduce实现中,以Session ID(简称SID)为key。
一种类型的原始日志对应于一个Mapper类,在Mapper类中,原始日志以TextInputFormat输入,并将输入的日志解析为格式化形式,解析失败的原始日志会利用Hadoop的计数功能进行统计,便于事后调试。
解析成功的日志会把有价值的字段赋值到protocol buffer定义的message类型qsslog::SearchEvent中,与该Mapper处理的原始日志的类型一并作为Mapper输出的Value。
如前所述,MapReduce的Intermediate Key必须为SID。在Reducer中,SID相同的数据会被聚集在一起进行合并。合并以Searcher展示日志为基准,其它日志在其上进行字段补充。
为了使得在Reducer中日志按照特定的先后顺序出现,例如,后端展示日志必须在前端点击日志之前进入Reducer,前端搜索日志必须在后端搜索日志之前进入Reducer,Mapper的输出Key中可以带有一个表示顺序的字母作为SID的后缀,利用Hadoop MapReduce的Secondary Sort机制来确保在Reducer中出现的顺序。
Reducer的主要逻辑是一个Switch语句,根据日志的种类来进行相应的日志合并。其中主要的操作包括:
1、校验操作,包括对SearchEvent的一致性校验和对SearchResult的一致性校验。
因为来源不同的日志中带有大量不同用途的字段,有些字段在不同的原始日志中是冗余的,可以用来进行一致性检查,例如,后端展示日志中的查询词和前端点击日志中的查询词;有些字段在不同的原始日志中需要是相互匹配的,可以用来进行进行完整性检查,例如,后端展示日志中的URL必须与前端点击日志中URL匹配,通过校验可以发现日志系统中的异常情况。
2、合并操作,包括搜索事件SearchEvent的合并、按照点击的搜索结果所处页面位置对前端搜索日志进行合并、按照点击的搜索结果的URL对前端搜索日志进行合并、按照点击的搜素结果所处页面位置对后端搜素日志进行合并。
参照图2,其示出了根据本发明实施例2的一种搜索日志合并方法实施例的流程图,所述方法具体可以包括:
步骤201,前端服务器根据搜索客户端触发的搜索请求,生成标记本次搜索过程的Session ID。
步骤202,所述前端服务器按照Session ID标记所述搜索过程相关的前端搜索日志。
步骤203,后端服务器按照Session ID标记所述搜索过程相关的后端搜索日志。
步骤204,一个或多个垂直搜索服务器分别按照所述Session ID标记所述搜索过程相关的垂直搜索日志。
与上个实施例不同的是,本实施例中,还包括垂直搜索服务器按照Session ID标记其所记录的垂直搜索日志的步骤。
垂直搜索服务器是搜索服务器的一种,通过垂直搜索引擎提供进行搜索服务,垂直搜索引擎是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,通过对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。相对于通用搜索引擎存在的信息量大、查询不准确、深度不够等问题,垂直搜索引擎可以针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。例如,针对用户的搜索关键词,提供对应在新闻分类、百科分类、问答分类等各种搜索结果,或是在热门分类下的搜索结果,或是根据查询关键词推荐的相关搜索结果。
垂直搜索服务器可以包括一个或多个,对应记录的垂直搜索日志可以记录根据所述前端服务器的搜索结果获取请求触发的搜索事件以及将搜索结果推送给前端服务器的展示事件。
步骤205,基于相同的Session ID合并所述前端搜索日志、所述后端搜索日志以及所述垂直搜索日志。
进一步,可以将垂直搜索日志与上述前端搜索日志和后端搜索日志一起进行合并,具体的合并细节可以参照上个实施例记载的方案。
根据本发明实施例,前端服务器生成用于标记一次搜索过程的Session ID,并由前端服务器和后端服务器采用同一个Session ID对搜索日志进行标记,从而可以根据是否具备同一个Session ID将多个搜索日志关联并进行合并,从而可以获得同一个搜索过程在多个服务器上记录的搜索日志,进一步可以对同一搜索客户端的一个搜索过程进行分析,作为分析用户潜在搜索需求的依据,从而可以进一步挖掘用户在一系列和搜索引擎的交互行为中的特定行为模式,以优化搜索结果,有利于提高搜索效率,减少向搜索引擎发送搜索请求的次数,降低搜索服务器的负载。
需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。
基于上述方法实施例的说明,本发明还提供了相应的搜索日志合并系统实施例,来实现上述方法实施例所述的内容。
参照图3,其示出了根据本发明实施例1的一种搜索日志合并系统实施例的结构框图,包括前端服务器301和后端服务器302;
所述前端服务器包括Session ID生成模块3011和前端日志标记模块3012;
所述Session ID生成模块3011,用于根据搜索客户端触发的搜索请求,生成标记本次搜索过程的Session ID;
所述前端日志标记模块3012,用于按照Session ID标记所述搜索过程相关的前端搜索日志;
所述后端服务器302包括后端日志标记模块3021;
所述后端日志标记模块3021,用于按照Session ID标记所述搜索过程相关的后端搜索日志;
所述前端服务器还包括日志合并模块3013:
所述日志合并模块3013,用于基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志。
在具体的实现中,所述日志合并模块也可以位于后端服务器,本发明对此并不限制。
本发明实施例中,优选地,所述前端服务器用于向所述搜索客户端提供搜索页面,所述后端服务器用于向所述前端服务器提供搜索服务。
本发明实施例中,优选地,所述前端搜索日志记录根据所述搜索客户端的搜索请求触发的前端查询事件以及搜索结果点击事件;所述后端搜索日志记录根据所述前端服务器的搜索结果获取请求触发的后端查询事件以及将搜索结果推送给前端服务器的后端展示事件。
本发明实施例中,优选地,所述后端日志标记模块包括:
请求生成子模块,用于所述后端服务器接收所述前端服务器根据在所述搜索客户端触发的搜索请求生成携带所述Session ID的搜索结果获取请求;
标记子模块,用于从所述搜索结果获取请求中提取所述Session ID,并按照所述Session ID标记所述搜索过程相关的后端搜索日志。
本发明实施例中,优选地,所述日志合并模块,具体用于
所述前端服务器或所述后端服务器提取具备相同Session ID的所述前端搜索日志和所述后端搜索日志并进行合并。
本发明实施例中,优选地,所述日志合并模块包括:
日志解析子模块,用于解析所述前端搜索日志和所述后端搜索日志,提取其中表征所记录的事件的关键字段;
搜索日志合并子模块,用于根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并。
本发明实施例中,优选地,所述关键字段包括查询关键词、和/或所述目标搜索结果所处页面区域、和/或所述目标搜索结果的URL,所述搜索日志合并包括:
第一合并子单元,用于将对应同一查询关键词的所述前端搜索日志和所述后端搜索日志进行合并;
和/或,第二合并子单元,用于将所述目标搜索结果所处页面区域对应为同一页面区域的前端搜索日志进行合并;
和/或,第三合并子单元,用于将所述目标搜索结果的URL对应同一类目标URL的前端搜索日志进行合并;
和/或,第四合并子单元,用于将所述目标搜索结果所处页面区域对应为同一页面区域的后端搜索日志进行合并。
本发明实施例中,优选地,所述日志合并模块还包括:
排序子模块,用于按照对应的事件类型所标识的事件先后顺序对所述前端搜索日志和所述后端搜索日志进行排序。
本发明实施例中,优选地,所述日志合并模块还包括:
校验子模块,用于校验所述前端搜索日志和所述后端搜索日志中记录的关键字段是否一致。
根据本发明实施例,前端服务器生成用于标记一次搜索过程的Session ID,并由前端服务器和后端服务器采用同一个Session ID对搜索日志进行标记,从而可以根据是否具备同一个Session ID将多个搜索日志关联并进行合并,从而可以获得同一个搜索过程在多个服务器上记录的搜索日志,进一步可以对同一搜索客户端的一个搜索过程进行分析,作为分析用户潜在搜索需求的依据,从而可以进一步挖掘用户在一系列和搜索引擎的交互行为中的特定行为模式,以优化搜索结果,有利于提高搜索效率,减少向搜索引擎发送搜索请求的次数,降低搜索服务器的负载。
参照图4,其示出了根据本发明实施例2的一种搜索日志合并系统实施例的结构框图,包括前端服务器401、后端服务器402和垂直搜索服务器403;
所述前端服务器包括Session ID生成模块4011和前端日志标记模块4012;
所述Session ID生成模块4011,用于根据搜索客户端触发的搜索请求,生成标记本次搜索过程的Session ID;
所述前端日志标记模块4012,用于按照Session ID标记所述搜索过程相关的前端搜索日志;
所述后端服务器402包括后端日志标记模块4021;
所述后端日志标记模块4021,用于按照Session ID标记所述搜索过程相关的后端搜索日志;
所述前端服务器还包括日志合并模块4013:
所述日志合并模块4013,用于基于相同的Session ID合并所述前端搜索日志、所述后端搜索日志以及所述垂直搜索日志;
所述垂直搜索服务器403包括垂直日志标记模块4031,所述垂直日志标记模块4031用于一个或多个垂直搜索服务器分别按照所述Session ID标记所述搜索过程相关的垂直搜索日志。
在具体的实现中,所述日志合并模块也可以位于后端服务器或所述垂直搜索服务器,本发明对此并不限制。
根据本发明实施例,前端服务器生成用于标记一次搜索过程的Session ID,并由前端服务器和后端服务器采用同一个Session ID对搜索日志进行标记,从而可以根据是否具备同一个Session ID将多个搜索日志关联并进行合并,从而可以获得同一个搜索过程在多个服务器上记录的搜索日志,进一步可以对同一搜索客户端的一个搜索过程进行分析,作为分析用户潜在搜索需求的依据,从而可以进一步挖掘用户在一系列和搜索引擎的交互行为中的特定行为模式,以优化搜索结果,有利于提高搜索效率,减少向搜索引擎发送搜索请求的次数,降低搜索服务器的负载。
对于上述搜索日志合并系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的搜索日志合并设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (18)
1.一种搜索日志合并方法,包括:
前端服务器根据搜索客户端触发的搜索请求,生成标记本次搜索过程的Session ID;
所述前端服务器按照Session ID标记所述搜索过程相关的前端搜索日志;
后端服务器按照Session ID标记所述搜索过程相关的后端搜索日志;
基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志;
其中,所述后端服务器按照Session ID标记所述搜索过程相关的后端搜索日志包括:
所述后端服务器接收所述前端服务器根据在所述搜索客户端触发的搜索请求生成携带所述Session ID的搜索结果获取请求;
从所述搜索结果获取请求中提取所述Session ID,并按照所述Session ID标记所述搜索过程相关的后端搜索日志。
2.如权利要求1所述的方法,其中,所述方法还包括:
一个或多个垂直搜索服务器分别按照所述Session ID标记所述搜索过程相关的垂直搜索日志。
3.如权利要求2所述的方法,其中,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志为,基于相同的Session ID合并所述前端搜索日志、所述后端搜索日志以及所述垂直搜索日志。
4.如权利要求1-3任一项所述的方法,其中,所述前端服务器用于向所述搜索客户端提供搜索页面,所述后端服务器用于向所述前端服务器提供搜索服务;
所述前端搜索日志记录根据所述搜索客户端的搜索请求触发的前端查询事件以及搜索结果点击事件;所述后端搜索日志记录根据所述前端服务器的搜索结果获取请求触发的后端查询事件以及将搜索结果推送给前端服务器的后端展示事件。
5.如权利要求1-3任一项所述的方法,其中,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志为,所述前端服务器或所述后端服务器提取具备相同Session ID的所述前端搜索日志和所述后端搜索日志并进行合并。
6.如权利要求1-3任一项所述的方法,其中,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志包括:
解析所述前端搜索日志和所述后端搜索日志,提取其中表征所记录的事件的关键字段;
根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并。
7.如权利要求6所述的方法,其中,所述关键字段包括查询关键词、和/或目标搜索结果所处页面区域、和/或所述目标搜索结果的URL,所述根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并包括:
将对应同一查询关键词的所述前端搜索日志和所述后端搜索日志进行合并;
和/或,将所述目标搜索结果所处页面区域对应为同一页面区域的前端搜索日志进行合并;
和/或,将所述目标搜索结果的URL对应同一类目标URL的前端搜索日志进行合并;
和/或,将所述目标搜索结果所处页面区域对应为同一页面区域的后端搜索日志进行合并。
8.如权利要求6所述的方法,其中,所述前端搜索日志和所述后端搜索日志具备所记录的事件的事件类型,在所述根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并之前,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志还包括:
按照对应的事件类型所标识的事件先后顺序对所述前端搜索日志和所述后端搜索日志进行排序。
9.如权利要求6所述的方法,其中,在所述根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并之前,所述基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志还包括:
校验所述前端搜索日志和所述后端搜索日志中记录的关键字段是否一致。
10.一种搜索日志合并系统,包括前端服务器和后端服务器;
所述前端服务器包括Session ID生成模块和前端日志标记模块;
所述Session ID生成模块,用于根据搜索客户端触发的搜索请求,生成标记本次搜索过程的Session ID;
所述前端日志标记模块,用于按照Session ID标记所述搜索过程相关的前端搜索日志;
所述后端服务器包括后端日志标记模块;
所述后端日志标记模块,用于按照Session ID标记所述搜索过程相关的后端搜索日志;
所述前端服务器或所述后端服务器还包括日志合并模块:
所述日志合并模块,用于基于相同的Session ID合并所述前端搜索日志和所述后端搜索日志;
其中,所述后端日志标记模块包括:
请求生成子模块,用于所述后端服务器接收所述前端服务器根据在所述搜索客户端触发的搜索请求生成携带所述Session ID的搜索结果获取请求;
标记子模块,用于从所述搜索结果获取请求中提取所述Session ID,并按照所述Session ID标记所述搜索过程相关的后端搜索日志。
11.如权利要求10所述的系统,其中,所述系统还包括垂直搜索服务器;
所述垂直搜索服务器包括垂直日志标记模块,所述垂直日志标记模块用于一个或多个垂直搜索服务器分别按照所述Session ID标记所述搜索过程相关的垂直搜索日志。
12.如权利要求11所述的系统,其中,所述日志合并模块,具体用于基于相同的SessionID合并所述前端搜索日志、所述后端搜索日志以及所述垂直搜索日志。
13.如权利要求10-12任一项所述的系统,其中,所述前端服务器用于向所述搜索客户端提供搜索页面,所述后端服务器用于向所述前端服务器提供搜索服务;
所述前端搜索日志记录根据所述搜索客户端的搜索请求触发的前端查询事件以及搜索结果点击事件;所述后端搜索日志记录根据所述前端服务器的搜索结果获取请求触发的后端查询事件以及将搜索结果推送给前端服务器的后端展示事件。
14.如权利要求10-12任一项所述的系统,其中,所述日志合并模块,具体用于所述前端服务器或所述后端服务器提取具备相同Session ID的所述前端搜索日志和所述后端搜索日志并进行合并。
15.如权利要求10-12任一项所述的系统,其中,所述日志合并模块包括:
日志解析子模块,用于解析所述前端搜索日志和所述后端搜索日志,提取其中表征所记录的事件的关键字段;
搜索日志合并子模块,用于根据所提取的关键字段,对所述前端搜索日志和所述后端搜索日志进行合并。
16.如权利要求15所述的系统,其中,所述关键字段包括查询关键词、和/或目标搜索结果所处页面区域、和/或所述目标搜索结果的URL,所述搜索日志合并包括:
第一合并子单元,用于将对应同一查询关键词的所述前端搜索日志和所述后端搜索日志进行合并;
和/或,第二合并子单元,用于将所述目标搜索结果所处页面区域对应为同一页面区域的前端搜索日志进行合并;
和/或,第三合并子单元,用于将所述目标搜索结果的URL对应同一类目标URL的前端搜索日志进行合并;
和/或,第四合并子单元,用于将所述目标搜索结果所处页面区域对应为同一页面区域的后端搜索日志进行合并。
17.如权利要求10-12任一项所述的系统,其中,所述前端搜索日志和所述后端搜索日志具备所记录的事件的事件类型,所述日志合并模块还包括:
排序子模块,用于按照对应的事件类型所标识的事件先后顺序对所述前端搜索日志和所述后端搜索日志进行排序。
18.如权利要求15所述的系统,其中,所述日志合并模块还包括:
校验子模块,用于校验所述前端搜索日志和所述后端搜索日志中记录的关键字段是否一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410854740.1A CN105808605B (zh) | 2014-12-31 | 2014-12-31 | 一种搜索日志合并方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410854740.1A CN105808605B (zh) | 2014-12-31 | 2014-12-31 | 一种搜索日志合并方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105808605A CN105808605A (zh) | 2016-07-27 |
CN105808605B true CN105808605B (zh) | 2019-08-09 |
Family
ID=56465275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410854740.1A Active CN105808605B (zh) | 2014-12-31 | 2014-12-31 | 一种搜索日志合并方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808605B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110020101B (zh) * | 2017-08-25 | 2023-09-12 | 淘宝(中国)软件有限公司 | 实时搜索场景的还原方法、装置和系统 |
CN108563706A (zh) * | 2018-03-27 | 2018-09-21 | 昆山和君纵达数据科技有限公司 | 一种催收大数据智能服务系统及其运行方法 |
CN114650236A (zh) * | 2020-12-17 | 2022-06-21 | 中移(苏州)软件技术有限公司 | 一种日志处理方法、装置及存储介质 |
CN112732647B (zh) * | 2021-03-30 | 2021-06-25 | 北京优特捷信息技术有限公司 | 一种日志搜索方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100112436A (ko) * | 2009-04-09 | 2010-10-19 | 티에스온넷(주) | 사용자 세션 로그와 데이터베이스 쿼리 로그를 추적 연결하는 로그 통합 시스템 및 그 로그 통합 방법 |
CN103823811A (zh) * | 2012-11-19 | 2014-05-28 | 北京百度网讯科技有限公司 | 用于处理日志的方法及其系统 |
CN104156432A (zh) * | 2014-08-08 | 2014-11-19 | 四川九成信息技术有限公司 | 一种文件访问方法 |
CN104182506A (zh) * | 2014-08-19 | 2014-12-03 | 浪潮(北京)电子信息产业有限公司 | 日志管理方法 |
-
2014
- 2014-12-31 CN CN201410854740.1A patent/CN105808605B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100112436A (ko) * | 2009-04-09 | 2010-10-19 | 티에스온넷(주) | 사용자 세션 로그와 데이터베이스 쿼리 로그를 추적 연결하는 로그 통합 시스템 및 그 로그 통합 방법 |
CN103823811A (zh) * | 2012-11-19 | 2014-05-28 | 北京百度网讯科技有限公司 | 用于处理日志的方法及其系统 |
CN104156432A (zh) * | 2014-08-08 | 2014-11-19 | 四川九成信息技术有限公司 | 一种文件访问方法 |
CN104182506A (zh) * | 2014-08-19 | 2014-12-03 | 浪潮(北京)电子信息产业有限公司 | 日志管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105808605A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2009238294B2 (en) | Data transformation based on a technical design document | |
CN102073726B (zh) | 搜索引擎系统的结构化数据的引入方法和装置 | |
JP5134684B2 (ja) | ウェブページ構造分析を通したウェブサイトの情報把握方法 | |
US10572561B1 (en) | Performing multiple related searches | |
CN103678692B (zh) | 一种下载文件的安全扫描方法及装置 | |
US20110238723A1 (en) | Systems and methods for web decoding | |
US20040167876A1 (en) | Method and apparatus for improved web scraping | |
CN105808605B (zh) | 一种搜索日志合并方法和系统 | |
CN103617241B (zh) | 搜索信息处理方法、浏览器终端与服务器 | |
US8458187B2 (en) | Methods and systems for visualizing topic location in a document redundancy graph | |
CN106603296A (zh) | 日志的处理方法及装置 | |
US20200026802A1 (en) | Image quality independent searching of screenshots of web content | |
US20160012074A1 (en) | System and method for providing contextual analytics data | |
CN104036003B (zh) | 搜索结果整合方法和装置 | |
JP2016518652A (ja) | ウェブページ・スタイルアドレスの統合 | |
US20180314411A1 (en) | Graphical user interface programmed to display complex indicators based on structured threat expressions | |
CN105868225A (zh) | 数据查询的方法、客户端、服务器及系统 | |
JP2011034399A (ja) | Webページの関連性抽出方法、装置、及びプログラム | |
US11334592B2 (en) | Self-orchestrated system for extraction, analysis, and presentation of entity data | |
CN105808623B (zh) | 一种基于搜索的页面访问事件关联方法和装置 | |
US20160232236A1 (en) | Presenting search results for an internet search request | |
US11831417B2 (en) | Threat mapping engine | |
KR100557874B1 (ko) | 과학기술 정보분석 방법 및 그 방법에 대한 컴퓨터프로그램을 저장한 기록매체 | |
JP5423470B2 (ja) | 名寄せチェック支援装置、名寄せチェック支援プログラム及び名寄せチェック支援方法 | |
CN106528569B (zh) | 计算站内搜索有效度的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220715 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |
|
TR01 | Transfer of patent right |