CN103729386B - 信息查询系统与方法 - Google Patents

信息查询系统与方法 Download PDF

Info

Publication number
CN103729386B
CN103729386B CN201210393631.5A CN201210393631A CN103729386B CN 103729386 B CN103729386 B CN 103729386B CN 201210393631 A CN201210393631 A CN 201210393631A CN 103729386 B CN103729386 B CN 103729386B
Authority
CN
China
Prior art keywords
cluster
languages
inquiry request
query result
information
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
Application number
CN201210393631.5A
Other languages
English (en)
Other versions
CN103729386A (zh
Inventor
叶良
邹华锋
郑文彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201210393631.5A priority Critical patent/CN103729386B/zh
Publication of CN103729386A publication Critical patent/CN103729386A/zh
Application granted granted Critical
Publication of CN103729386B publication Critical patent/CN103729386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Abstract

本申请提供了一种信息查询系统与方法,其中,信息查询系统包括:第一集群和多个不同语种的第二集群;其中,所述第一集群,用于将源语种的查询请求翻译重写为多种目标语种的查询请求,并分别发送给相应语种的所述第二集群;所述第二集群中的每个集群,用于接收与本集群语种相对应的所述目标语种的查询请求,根据接收的所述目标语种的查询请求进行信息查询,并向所述第一集群返回本集群对应的目标语种的查询结果;所述第一集群,还用于对所述第二集群返回的不同目标语种的查询结果进行处理后,发送给搜索前端进行展示。通过本申请,达到了多语言信息检索,提供用户更多信息和提升用户使用体验的效果。

Description

信息查询系统与方法
技术领域
本申请涉及网络技术领域,特别是涉及一种信息查询系统与方法。
背景技术
在电子商务活动中,其中重要的一个环节是,如何将卖家发布的产品信息快速、友好、精准地呈现给买家,而搜索引擎通常是实现这个环节的首选。在一次搜索体验过程中,买家一般使用查询关键词表达求购意图,期待搜索引擎快速、友好、精准地返回卖家的相关产品信息。绝大多数提供搜索引擎功能的网站,返回的相关结果都是来自同一种语言的产品,而一个面向全球贸易的电子商务网站,发布、搜索和展示除了英语以外的其他不同语言的产品信息是很重要的功能。
现有的电子商务搜索引擎都是针对同一种语言的数据源进行构建,查询词和产品信息都是使用同一种语言进行描述的,查询结果也只能是来自一种语言的产品。
下面以英文产品的分布式搜索框架为例进行说明,如图1所示,该分布式搜索框架包括searchweb前端(web搜索前端)、merger(合并)集群、searcher(搜索)集群、和clustermap(集群映射)集群。在该英文分布式搜索框架中,产品数据按列划分成N列。其中,M行×N列的searcher集群负责查询串解析、检索、过滤、统计、排序、选取和展示数据获取,每一次查询请求只会落到逻辑上的某一行上;1行×Y列的merger集群负责向某行searcher发起查询请求,并将来自N列的同构数据的统计合并和排序,每一次查询请求只会落到某一列上;clustermap维护merger和searcher集群机器角色之间的层次连接关系和机器状态信息,控制searcher集群和merger集群机器之间的请求转发和负载均衡;searchweb前端根据用户查询词及其他查询条件拼成请求串,发送给某列merger,具体的merger列由F5负载均衡设备(处于searchweb前端和merger集群之间,图1中未示出)决定,等待返回结果并进行解析展示。
分布式搜索框架采用两阶段查询处理用户请求,首先,merger向某行的每台searcher发起第一阶段查询,具体的searcher行由clustermap决定;searcher完成具体的检索流程得到产品id集合及分数等信息,并返回给merger;merger将各台searcher的结果进行合并,经过排序后,根据请求的区间选取最终的产品id集合,然后向第一阶段选中的searcher发起第二阶段查询;searcher获取产品具体数据,返回给merger,并根据一定格式生成最终结果。
上述现有分布式搜索框架只能较好的处理同一种语言的产品检索,但却无法处理不同种语言的产品检索,无法满足面向多语言的混合搜索需求。
发明内容
本申请提供了一种信息查询系统与方法,以解决现有分布式搜索框架无法处理不同种语言的检索,无法满足面向多语言的混合搜索需求的问题。
为了解决上述问题,本申请公开了一种信息查询系统,包括:第一集群和多个不同语种的第二集群;其中,所述第一集群,用于将源语种的查询请求翻译重写为多种目标语种的查询请求,并分别发送给相应语种的所述第二集群;所述第二集群中的每个集群,用于接收与本集群语种相对应的所述目标语种的查询请求,根据接收的所述目标语种的查询请求进行信息查询,并向所述第一集群返回本集群对应的目标语种的查询结果;所述第一集群,还用于对所述第二集群返回的不同目标语种的查询结果进行处理后,发送给搜索前端进行展示。
优选地,所述信息查询系统还包括:第三集群和所述搜索前端;其中,所述搜索前端,用于将所述处理后的所述不同目标语种的查询结果发送给所述第三集群;所述第三集群,用于从所述搜索前端获取处理后的所述不同目标语种的查询结果,将所述不同目标语种的查询结果翻译为所述源语种的查询结果并返回给所述搜索前端;所述搜索前端,还用于接收所述源语种的查询结果并进行展示。
优选地,所述第一集群中设置有字段名称映射关系表,用于指示所述不同目标语种的查询结果中的字段名的对应关系;所述第一集群在对所述第二集群返回的不同目标语种的查询结果进行处理时,根据所述字段名映射关系表,对所述不同目标语种的查询结果进行统计排序和合并,根据所述源语种的查询请求生成最终查询结果,其中,所述最终查询结果中包含有所述不同目标语种的查询结果的语种信息。
优选地,所述第一集群,还用于在将源语种的查询请求翻译重写为多种目标语种的阶段查询请求之前,获取所述源语种的信息,并判断所述第一集群是否支持所述源语种,若支持,则将所述源语种的查询请求翻译重写为多种目标语种的阶段查询请求。
优选地,所述第一集群在将所述源语种的查询请求翻译重写为多种目标语种的阶段查询请求时,将所述源语种的查询请求中的查询词翻译为所述第二集群中的每个集群所支持的语种的查询词,分别重新拼装为相应的多个第一阶段查询请求,其中,所述第一阶段查询请求用于查询数据索引信息。
优选地,每个所述第二集群包括第一子集群和第二子集群;其中,所述第一子集群,用于接收发送给本第二集群的第一阶段查询请求,并向本第二集群中的第二子集群发送;所述第二子集群,用于根据所述第一子集群发送的所述第一阶段查询请求,在本第二子集群内查询选取所述数据索引信息,并返回给所述第一子集群;所述第一子集群,还用于对所述数据索引信息进行同构数据的统计排序和选取后,返回给所述第一集群。
优选地,所述第一集群,还用于对多个所述第二集群中的第一子集群返回的不同语种的所述数据索引信息进行异构数据的统计排序和选取后,向所述多个第二集群中的第一子集群发送第二阶段查询请求,其中,所述第二阶段查询请求用于查询对应于统计排序和选取后的所述数据索引信息的数据详细信息。
优选地,所述多个第二集群中的每个所述第一子集群还用于接收并向本第二集群的第二子集群发送所述第二阶段查询请求;本第二集群的第二子集群还用于根据所述第二阶段查询请求,获取本第二集群的数据详细信息并返回给本第二集群的第一子集群;所述第一子集群还用于对返回的所述数据详细信息进行同构数据合并后,返回给所述第一集群。
优选地,所述搜索前端,还用于接收输入的所述源语种的查询词,生成所述源语种的查询请求并发送给所述第一集群,其中,所述源语种的查询请求中包含有所述源语种的信息和所述目标语种的信息。
优选地,所述信息查询系统还包括:第四集群,用于维护所述第一集群和所述第二集群的集群机器角色和层次关系。
优选地,所述第一集群、所述第二集群、和所述第三集群均通过多个服务器实现;所述第四集群,还用于对所述第一集群中的多个服务器进行负载均衡;以及,对所述第二集群中的第一子集群和/或第二子集群进行负载均衡。
为了解决上述问题,本申请还公开了一种信息查询方法,包括:第一集群将源语种的查询请求翻译重写为多种目标语种的查询请求,并分别发送给多个不同语种的第二集群中的相应集群;所述多个第二集群中的每个集群接收与本集群语种相对应的所述目标语种的查询请求,根据接收的所述目标语种的查询请求进行信息查询,并向所述第一集群返回本集群对应的目标语种的查询结果;所述第一集群对所述第二集群返回的不同目标语种的查询结果进行处理后,发送给搜索前端进行展示。
优选地,所述信息查询方法还包括:所述搜索前端将所述处理后的所述不同目标语种的查询结果发送给第三集群;所述第三集群从所述搜索前端获取处理后的所述不同目标语种的查询结果,将所述不同目标语种的查询结果翻译为所述源语种的查询结果并返回给所述搜索前端;所述搜索前端接收所述源语种的查询结果并进行展示。
优选地,所述第一集群对所述第二集群返回的不同目标语种的查询结果进行处理后,发送给搜索前端进行展示的步骤包括:所述第一集群通过字段名称映射关系表对所述不同目标语种的查询结果进行统计排序和合并,根据所述源语种的查询请求生成最终查询结果并发送给所述搜索前端进行展示;其中,所述字段名称映射关系表用于指示所述不同目标语种的查询结果中的字段名的对应关系;所述最终查询结果中包含有所述不同目标语种的查询结果的语种信息。
与现有技术相比,本申请具有以下优点:
本申请通过设置第一集群和多个不同语种的第二集群,将源语种的查询请求翻译重写为多语种的查询请求,并发送给相应语种的第二集群进行信息查询。通过该方式,一个语种的查询词可以查询到对不同语种的信息,有效解决了现有分布式搜索框架无法处理不同种语言的检索,无法满足面向多语言的混合搜索需求的问题,达到了多语言信息检索,提供用户更多信息和提升用户使用体验的效果。
附图说明
图1是现有技术的一种分布式搜索框架的示意图;
图2是根据本申请实施例一的一种信息查询系统的结构框图;
图3是根据本申请实施例二的一种信息查询系统的结构框图;
图4是根据本申请实施例三的一种信息查询系统的结构示意图;
图5是图4所示系统的一种全量索引的流程示意图;
图6是图4所示系统的一种增量索引的流程示意图;
图7是根据本申请实施例四的一种信息查询方法的步骤流程图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图2,示出了根据本申请实施例一的一种信息查询系统的结构框图。
本实施例的信息查询系统包括:第一集群102和多个不同语种的第二集群104。
其中,第一集群102,用于将源语种的查询请求翻译重写为多种目标语种的查询请求,并分别发送给相应语种的第二集群104;第二集群104中的每个集群,用于接收与本集群语种相对应的目标语种的查询请求,根据接收的目标语种的查询请求进行信息查询,并向第一集群102返回本集群对应的目标语种的查询结果;第一集群102,还用于对第二集群104返回的不同目标语种的查询结果进行处理后,发送给搜索前端进行展示。
例如,设定源语种为法语,多个不同语种的第二集群分别为法语集群、英语集群和西班牙语集群,则第一集群102接收法语的查询请求后,分别重写为法语查询请求、英语查询请求和西班牙语查询请求,并分别发送给对应的法语集群、英语集群和西班牙语集群。法语集群、英语集群和西班牙语集群在接收到本集群语种的查询请求后,按照查询请求中的参数和信息进行信息查询,然后分别向第一集群102返回查询结果,其中,法语集群返回的是法语的查询结果、英语集群返回的是英语的查询结果、西班牙语集群返回的是西班牙语的查询结果。第一集群102在接收到这些查询结果后进行相应的处理,如统计、排序、选取、合并、或者翻译等,然后发送给搜索前端进行展示。用户通过该展示能够获取多语种的查询结果信息。
通过本实施例,在信息查询系统中设置第一集群和多个不同语种的第二集群,将源语种的查询请求翻译重写为多语种的查询请求,并发送给相应语种的第二集群进行信息查询。通过该方式,一个语种的查询词可以查询到对不同语种的信息,有效解决了现有分布式搜索框架无法处理不同种语言的检索,无法满足面向多语言的混合搜索需求的问题,达到了多语言信息检索,提供用户更多信息和提升用户使用体验的效果。
实施例二
参照图3,示出了根据本申请实施例二的一种信息查询系统的结构框图。
本实施例的信息查询系统包括:搜索前端202、第一集群204、多个不同语种的第二集群206、第三集群208、第四集群210。其中,第一集群204、第二集群206、第三集群208、第四集群210中的每个集群均可由一个或多个服务器实现。
搜索前端202可以是客户端,也可以与客户端相连,并与第一集群204和第三集群208相连。搜索前端202用于接收输入的源语种的查询词,生成源语种的查询请求并发送给第一集群204,其中,源语种的查询请求中包含有源语种的信息和目标语种的信息,该目标语种与第二集群206支持的语种相对应;并且,搜索前端202还用于将第一集群204处理后的不同目标语种的查询结果发送给第三集群208;并在第三集群208将不同目标语种的查询结果翻译为源语种的查询结果后,接收第三集群208的返回源语种的查询结果进行展示,如显示给客户端的用户。
第一集群204与搜索前端202和多个不同语种的第二集群206相连。第一集群204用于源语种的查询请求翻译重写为多种目标语种的查询请求,并分别发送给相应语种的第二集群206;以及,对第二集群206返回的不同目标语种的查询结果进行处理后,发送给搜索前端202进行展示。优选地,可以在第一集群204中设置字段名称映射关系表,该关系表用于指示不同目标语种的查询结果中的字段名的对应关系,如英语查询结果中的字段名“subject”与西班牙语查询结果中的“tema”相对应,均指示产品名字段等。这样,在第一集群204接收到第二集群206返回的不同目标语种的查询结果后,可以根据字段名映射关系表,对不同目标语种的查询结果进行处理,即,对来自不同目标语种的异构查询结果利用名称映射关系表进行结果兼容性处理,包括进行统计排序和合并(将不同目标语种的异构查询结果进行并集处理)等,进而根据源语种的查询请求生成最终查询结果,如,源语种的查询请求中设定仅显示最靠前的30条记录等,则第一集群204对不同目标语种的查询结果进行统计排序和合并后,根据源语种的查询请求仅选取排名前30的查询结果,生成最终查询结果发送给搜索前端202进行展示。其中,最终查询结果中包含有不同目标语种的查询结果的语种信息。
优选地,第一集群204可以在将源语种的查询请求翻译重写为多种目标语种的阶段查询请求之前,获取源语种的信息,并判断第一集群204是否支持源语种,若支持,则将源语种的查询请求翻译重写为多种目标语种的阶段查询请求。第一集群204通过判断是否支持源语种,一方面可以确定用户输入的语种是否合法,另一方面能够提高查询的效率,避免无效查询。
第一集群204通过第二集群206进行信息查询,获取信息查询结果。在这一过程中,第一集群204先将源语种的查询请求中的查询词翻译为第二集群206中的每个集群所支持的语种的查询词,然后分别重新拼装为相应的多个第一阶段查询请求,该第一阶段查询请求用于查询数据索引信息,如产品的编号、标题、简要介绍,产品的属性特征等字段建立有倒排索引,用于查询匹配;产品产地、质量、创建和修改时间等建立有正排索引,用于过滤、统计和排序。之后,第一集群204将多语种的多个第一阶段查询请求分别发送给相应的第二集群206。在每个第二集群206中,都包括有第一子集群和第二子集群。以一个第二集群206的查询请求处理为例,该第二集群206的第一子集群用于接收发送给本第二集群206的第一阶段查询请求,并向本第二集群206中的第二子集群发送;该第二集群206中的第二子集群用于根据本第二集群206的第一子集群发送的第一阶段查询请求,在本第二子集群内查询数据索引信息,并返回给本第二集群206的第一子集群;该第一子集群在接收到该第二子集群返回的数据索引信息后,还用于对数据索引信息进行同构数据(同构数据指每条数据的描述形式是一致的,如每条数据的字段数量和名称是一样的)的统计排序和选取后,返回给第一集群204。第一集群204还用于接收各个第二集群206返回的不同语种的异构(异构数据是指数据的描述形式不一致,如每条数据的字段数量和/或字段名称是不一样的)的数据索引信息,对多个第二集群206中的第一子集群返回的不同语种的数据索引信息进行异构数据的统计排序和选取后,向多个第二集群206中的第一子集群发送第二阶段查询请求,该第二阶段查询请求用于查询对应于统计排序和选取后的数据索引信息的数据详细信息(如产品的详细介绍等)。优选地,第一集群204在对多个第二集群206返回的不同语种的数据索引信息进行异构数据的统计排序和选取时,可以根据第一阶段查询请求对统计和排序后的数据索引信息进行选取,如根据第一阶段查询请求中对条目数量的要求,选取符合条目数量的数据索引信息等;然后,再向多个第二集群206中的第一子集群发送第二阶段查询请求,该第二阶段查询请求用于查询对应于选取后的数据索引信息的数据详细信息。通过数据索引信息筛选,能够减少信息交互量,提高有效信息获取效率。
仍以一个第二集群206为例,该第二集群206中的第一子集群还用于接收并向本第二集群206的第二子集群发送第二阶段查询请求;本第二集群206的第二子集群还用于根据第二阶段查询请求,获取本第二集群206的数据详细信息并返回给本第二集群206的第一子集群;本第二集群206的第一子集群还用于对返回的数据详细信息进行同构数据合并后,返回给第一集群204。第一集群204对多个第二集群206返回的不同语种的异构数据详细信息进行处理,如将异构数据按指定的格式进行兼容性拼装处理(对异构数据进行的并集处理),然后生成最终的查询结果,发送给搜索前端202进行展示。
搜索前端202接收第一集群204返回的最终的查询结果,也即,第一集群204处理后的不同目标语种的查询结果后,一种方式是直接展示给客户端的用户,但该种方式有可能因用户不懂多种语言而造成阅读困难,无法有效获取信息。因此,优选地,本实施例的信息查询系统设置了第三集群208,第三集群208连接于搜索前端202,用于从搜索前端202获取处理后的不同目标语种的查询结果,将不同目标语种的查询结果翻译为源语种的查询结果并返回给搜索前端202;搜索前端202还用于接收第三集群208返回的源语种的查询结果并进行展示。至此,客户端用户可以简单方便地获取多种语种情形下的信息,提升用户使用体验。
更进一步,优选地,本实施例的信息查询系统还设置了第四集群210,以对信息查询系统的集群进行负载均衡,第四集群210与第一集群204和多个第二集群206相连,用于对第一集群204中的多个服务器进行负载均衡;以及,对多个第二集群206中的多个第一子集群和/或多个第二子集群中的多个服务器进行负载均衡。但不限于此,在实际使用中还可以通过其它方式实现集群中服务器的负载均衡,如,设置负载均衡设备,使该负载均衡设备连接于搜索前端202和第一集群204之间,当第一集群204由多个服务器实现时,负载均衡设备对第一集群204中的多个服务器进行负载均衡;而第四集群210仅与多个第二集群206相连,对多个第二集群206中的多个第一子集群和/或多个第二子集群进行负载均衡。
此外,第四集群210还用于维护第一集群204和多个第二集群206的集群机器角色和层次关系。
通过本实施例,提供了一种面向多语言的信息查询系统,用于打造一套灵活可配置、简单易扩展、满足不同语言产品的混合搜索需求的平台。有效解决了现有分布式搜索框架无法处理不同种语言的检索,无法满足面向多语言的混合搜索需求的问题,达到了多语言信息检索,提供用户更多信息和提升用户使用体验的效果。
实施例三
参照图4,示出了根据本申请实施例三的一种信息查询系统的结构示意图。
本实施例中,设定第一集群为blender(混合)集群,第二集群包括第一子集群merger集群和第二子集群searcher集群,第三集群为translator(翻译)集群、第四集群为clustermap集群,以面向英文和西班牙文的电子商务信息查询系统为例,对本申请的信息查询方案进行说明。
本实施例的信息查询系统包括:searchweb前端302、blender集群304、英文的merger集群306和西班牙文的merger集群306、英文的searcher集群308和西班牙文的searcher集群308、translator集群310、clustermap集群312。其中,blender集群304设置为1行×Z行,共Z个blender服务器;merger集群306设置为1行×Y列,共Y个merger服务器;searcher集群308设置为M行×N列,共M×N个searcher服务器;translator集群310可以设置多个translator服务器;clustermap集群312也可以设置多个clustermap服务器。
searchweb前端302分别与blender集群304和translator集群310相连,blender集群304还连接于英文的merger集群306和西班牙文的merger集群306,英文的merger集群306连接于英文的searcher集群308,西班牙文的merger集群306连接于西班牙文的searcher集群308,clustermap集群312与blender集群304、英文的merger集群306和西班牙文的merger集群306、英文的searcher集群308和西班牙文的searcher集群308相连。
1行×Z列的blender集群304首先对用户的信息查询请求在多种语言之间进行翻译重写和转发,然后对来自不同集群的异构查询结果数据进行统计和混合排序等处理,每一次的查询请求只会落到blender集群304的某一列上,具体哪列由F5负载均衡设备(设置于searchweb前端302和blender集群304之间,图4中未示出)决定。Translator集群310负责将其他语言的产品信息翻译成与用户查询入口语言(即源语种)相同的产品信息,以便让searchweb前端302使用统一的语言展示产品信息。西班牙文的merger+searcher集群的结构和布局与左侧的英文merger+searcher集群类似,但有可能searcher和merger的行列数目不同,searcher和merger的行列数目主要由数据量和访问量决定。
上述信息查询系统,不仅保持了英文集群和西班牙集群各自的相对独立性,允许不经过blender集群直接提供单一语种的查询,而且提供面向英文和西班牙文产品的混合查询功能。
再次参照图4,使用本实施例的信息查询系统进行信息查询的处理流程包括:
步骤S102:用户在网站搜索框中输入了西班牙文的查询关键词,如“relojes debolsillo”,中文意思“怀表”,英语“pocket watches”。
步骤S104:searchweb前端根据搜索引擎的查询语法及用户选择的其他搜索条件拼装请求串。
如:
“q=relojes+de+bolsillo&lang=ES&sorttype=SCATTER&scoretype=MLR&subclusters=en,es&statistic=field=statfield1,count=100,cattype=count&filter=county:US&s=0&n=30&outfmt=xml&retset=h”
表示用户搜索语种为西班牙(lang=ES)的关键字(q=relojes+de+bolsillo),且仅搜索卖家所在的国家是美国(filter=coutry:US)的产品,发向搜索的集群是英文集群和西班牙文集群(subclusters=en,es),返回字段statfield1的不同取值的计数在前100的信息(statistic=field=statfield1,count=100,cattype=count),从满足条件的产品集合中,经过匹配分粗排后选出一定数量的产品作为候选集,再以机器学习排序(MLR)算分模型(scoretype=MLR)重新计算分数进行精排(sorttype=SCATTER),返回分数在前30名(s=0&n=30)的产品信息,输出格式以xml方式(outfmt=xml)生成,输出信息是每个产品的字段集合h(retset=h)。可见,上述请求中携带了源语种信息(lang=ES)和目标语种信息(subclusters=en,es)。此外,该请求中还携带了相应的统计信息(statistic=field=statfield 1,count=100,cattype=count),以及排序信息(sorttype=SCATTER&scoretype=MLR)。
该拼装好的请求串发送给F5负载均衡设备,负载均衡设备挑选出一台blender为这次查询请求服务。blender对查询请求串进行合法性检查(如:lang(即源语种)是否在支持的语种范围内,subclusters的值是否正确等)和重写,然后分别向英文和西班牙文的merger集群的某台merger发起第一阶段查询请求,具体哪台merger由clustermap集群决定,策略可以是轮询方式,或者根据机器负载动态分配。
步骤S 106:blender发向英文集群某台merger的请求串要对查询词部分进行翻译以及一些查询参数的变更和不相关参数的剔除,并重新拼装成新的请求串。
如:
“q=pocket+watches&lang=EN&sorttype=SCATTER&scoretype=MLR&statistic=field=statfield1,count=100,cattype=count&filter=county:US&s=0&n=30&_step_=first”
从上面的新请求串可以看到查询词已经变成英文的(pocket+watches),语种也变成了英文(lang=EN),并用参数指明是第一阶段查询请求(_step_=first),第一阶段的查询和输出格式及输出字段集合没有关系,剔除(outfmt=xml&retset=h)参数。blender中的翻译模块以动态库的形式加载在blender服务中以提高整体的响应速度。
步骤S108:merger接收到来自blender的第一阶段查询请求后,向某行的每台searcher发起第一阶段查询请求,请求串和merger接收到的保持一致。
步骤S110:收到第一阶段查询请求的一行searcher对查询词“pocket+watches”分词为“pocket”和“watch”;然后对倒排索引进行检索,获取产品id集合;接着进行匹配算分(使用向量空间模型,不同字段赋予不同的权重分数,再根据相邻与否进行分数加权);再通过正排索引进行过滤和统计,经过本地的heapsort粗排(粗排依据的分数是前面计算出来的匹配分)和SCATTER精排(精排依据的分数是经过MLR计算出来的,综合考虑产品质量、卖家信誉、作弊程度及语种差异等因素)得到排名前30的结果。此时的结果集主要是产品id和分数,并记录下了哪些产品来自哪台searcher等信息,此时没有产品详细信息(也即数据详细信息),这些信息经过序列化后返回给merger。
步骤S112:merger收到一行searcher的返回结果反序列化后,进行同构结果的统计和归并排序,排序流程和search上类似,只是粗排和精排依据的分数都是MLR计算出来的分数,然后将结果序列化后返回给blender。
步骤S114:blender收到来自不同集群(本实施例中为英文集群和西班牙文集群)的返回结果,进行异构结果的统计和归并排序。
异构结果的统计使用字段名称映射关系表来处理,对于无映射关系的单独统计;排序流程和merger上类似,粗排和精排依据的分数都是MLR计算出来的分数。根据请求的区间(s=0&n=30)选取最终的产品id集合,然后对不同集群发起第二阶段查询请求获取产品详细信息,如:
“_step_=second&content=tcp:searcherIP1:port1,_docid_=10299,8812,12970,11040,7468,10454,^tcp:searcherIP2:port2,_docid_=10298,88112,129790,110420,74618,104534,^&retset=h”
上述第二阶段查询请求表示第二阶段向地址是(IP1,port1)的searcher以tcp的方式请求产品id为1299,8812,12970,11040,,7468,10454的产品信息,向地址是(IP2,port2)的searcher以tcp的方式请求产品id为10298,88112,129790,110420,74618,104534的产品信息,返回的字段集合是h。
步骤S116:merger接收到来自blender的第二阶段查询请求后,向指定行searcher发起第二阶段查询请求。
步骤S118:收到第二阶段请求的同一行searcher根据产品id获取产品字段集合是h的详细信息,然后返回给merger。
步骤S120:merger收到一行searcher的产品详细信息进行合并后,继而返回给blender。
步骤S122:发向西班牙文集群某台merger的请求串除了剔除一些不用的参数外,基本不用处理,生成新的第一阶段查询请求串。
步骤S124-S136的过程和步骤S108-S120类似,可仿照步骤S108-S120进行,在此不再赘述。需要说明的是,上述对英文集群的查询过程和对西班牙文集群的查询过程可以异步并行执行。
步骤S138:blender收到来自不同集群返回的产品详细信息,按照请求的返回格式和字段集合(outfmt=xml&retset=h)生成最终查询结果返回给searchweb前端,字段集合里面有一个特殊字段language标记了产品信息的语种信息。
步骤S140:searchweb前端收到blender返回的最终查询结果,根据产品信息标记的语种信息,向Translator发起翻译请求。
步骤S142:Translator收到翻译请求,将产品信息翻译为与用户输入的查询词的语种相同的语种(本实施例中,需要将英文翻译为西班牙文),翻译过程可以是线下翻译,线上提供KV(Key Value)引擎服务。
步骤S144:searchweb前端对统一语种的产品信息进行解析和展示,呈现给用户。
至此,实现了一个语种的查询词的多语种查询处理流程。
此外,因集群使用数据的海量,需要对数据库中的数据进行索引以方便查找,如对图4中的英文产品库和西班牙文产品库中的数据进行索引,包括全量索引和增量索引。其中,全量索引是对某个时间快照下的所有产品建立搜索引擎的索引的过程;增量索引是对变更产品及时更新到搜索引擎的索引的过程。
除了切换新老索引,全量索引基本上是一个线下过程,如图5所示,Full dump(全量转出)是将某个时间快照下的产品数据从database(数据库)里面拉出来的,形成dumpfiles(dump文件)的过程;Ijoin(连接)是将dump files(dump文件)通过线下进行类似数据库的join操作和其他业务逻辑处理的过程,这样就能生成一张产品维度的宽表,并且按列划分(和searcher集群的列数对应),以类似xml文件的形式存储,生成xml file(xml文件);Ibuild(构造)是索引构建过程,根据索引配置对产品信息进行预处理、分词建立倒排、正排等索引,同样是生成和searcher集群列数相同份数的index files(索引文件);Switch是新老索引的切换过程,涉及索引的分发、老索引的备份、新索引的加载和预热等,主要是要保证切换的平滑,不影响线上正常服务。
增量索引过程和全量索引过程基本相同,每个步骤之间虽然前后有依赖关系,但是可以并行流水,提高并发性。如图6所示,Update dump(更新转出)是将某个很短时间范围内(如分钟级别)的变更产品数据从database(数据库)里面拉出来,生成增量的dump数据dump files(dump文件);Ijoin(连接)的过程和全量是类似的,不过会额外生成是删除操作的产品id列表,Ijoin过程最终生成xml file(xml文件);Isupdate是一个deamon后台服务,部署在每台searcher机器上,它会定期检查是否有新的增量xml文件生成,如果有,进行索引的追加和合并,对于产品删除则置索引里面的对应产品为无效,最终生成index files(索引文件)。
通过本实施例,提供了一种面向多语言的电子商务搜索框架(电子商务信息查询系统),灵活可配置,简单易扩展,可以解决不同语言的产品的混合搜索需求;不同语言的产品分别部署在逻辑上不同的集群上,不同语言的产品的全量索引和增量索引流程相互独立,互不影响;框架内的模块或模型,如机器翻译、算分模型、排序模型都是可替换的,只要接口保持兼容即可,如,merger+searcher集群实现部分可使用开源搜索引擎lucene近似代替,算分模块可采用如语言模型、向量空间模型(VSM)等模型进行替代,翻译部分也可用其他翻译方法,比如基于语料、基于规则、基于统计或混合的翻译方法。
需要说明的是,本实施例提供的面向多语言的电子商务搜索框架仅以英文和西班牙文为例,但本领域技术人员应当明了,该搜索框架可以灵活扩展到多种语言(如西班牙语、日语、俄语、法语、德语、葡萄牙语、意大利语、阿拉伯语、韩语等),以便达到不同语言产品的混合搜索和排序的目的,实现多语言混合搜索。
实施例四
参照图7,示出了根据本申请实施例四的一种信息查询方法的步骤流程图。
本实施例的信息查询方法包括以下步骤:
步骤S202:第一集群将源语种的查询请求翻译重写为多种目标语种的查询请求,并分别发送给多个不同语种的第二集群中的相应集群。
优选地,第一集群在将源语种的查询请求翻译重写为多种目标语种的查询请求之前,获取源语种的信息,并判断第一集群是否支持源语种,若支持,则将源语种的查询请求重写为多种目标语种的阶段查询请求。
步骤S204:多个第二集群中的每个集群接收与本集群语种相对应的目标语种的查询请求,根据接收的目标语种的查询请求进行信息查询,并向第一集群返回本集群对应的目标语种的查询结果。
优选地,在上述信息查询过程中,第一集群在将源语种的查询请求翻译重写为多种目标语种的阶段查询请求时,将源语种的查询请求中的查询词翻译为第二集群中的每个集群所支持的语种的查询词,分别重新拼装为相应的多个第一阶段查询请求,其中,第一阶段查询请求用于查询数据索引信息;每个第二集群包括第一子集群和第二子集群,第一子集群接收第一集群发送给本第二集群的第一阶段查询请求,并向本第二集群中的第二子集群发送;第二子集群根据第一子集群发送的第一阶段查询请求,在本第二子集群内查询数据索引信息,并返回给第一子集群;第一子集群对数据索引信息进行同构数据的统计排序和选取后,返回给第一集群;第一集群对多个第二集群中的第一子集群返回的不同语种的数据索引信息进行异构数据的统计排序和选取后,向多个第二集群中的第一子集群发送第二阶段查询请求,其中,第二阶段查询请求用于查询对应于统计排序和选取后的数据索引信息的数据详细信息;多个第二集群中的每个第一子集群接收并向本第二集群的第二子集群发送第二阶段查询请求;本第二集群的第二子集群根据第二阶段查询请求,获取本第二集群的数据详细信息并返回给本第二集群的第一子集群;第一子集群对返回的数据详细信息进行同构数据合并后,返回给第一集群。
步骤S206:第一集群对第二集群返回的不同目标语种的查询结果进行处理后,发送给搜索前端进行展示。
优选地,第一集群通过字段名称映射关系表对不同目标语种的查询结果进行统计排序和合并,根据源语种的查询请求生成最终查询结果并发送给搜索前端进行展示;其中,字段名称映射关系表用于指示不同目标语种的查询结果中的字段名的对应关系;最终查询结果中包含有不同目标语种的查询结果的语种信息。
优选地,搜索前端进行展示时,搜索前端将处理后的不同目标语种的查询结果发送给第三集群;第三集群从搜索前端获取处理后的不同目标语种的查询结果,将不同目标语种的查询结果翻译为源语种的查询结果并返回给搜索前端;搜索前端接收源语种的查询结果并进行展示。
优选地,搜索前端还接收输入的源语种的查询词,生成源语种的查询请求并发送给第一集群,其中,源语种的查询请求中包含有源语种的信息和目标语种的信息。
优选地,本实施例的信息查询方法还包括:第四集群对第一集群中的多个服务器进行负载均衡;以及,对第二集群中的第一子集群和/或第二子集群进行负载均衡。此外,第四集群还维护第一集群和第二集群的集群机器角色和层次关系。
本实施例中,第一集群、第二集群、和第三集群均通过一个或多个服务器实现。
本实施例的信息查询方法通过前述多个实施例中的信息查询系统实现,描述较为简单,其有效效果可参照前述相应的信息查询系统实施例,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于方法实施例而言,描述的比较简单,相关之处参见系统实施例部分的说明即可。
以上对本申请所提供的一种信息查询系统及方法进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (14)

1.一种信息查询系统,其特征在于,包括:第一集群和多个不同语种的第二集群;
其中,
所述第一集群,用于将源语种的查询请求翻译重写为多种目标语种的查询请求,并分别发送给相应语种的所述第二集群;
所述第二集群中的每个集群,用于接收与本集群语种相对应的所述目标语种的查询请求,根据接收的所述目标语种的查询请求进行信息查询,并向所述第一集群返回本集群对应的目标语种的查询结果;
所述第一集群,还用于对所述第二集群返回的不同目标语种的查询结果进行处理后,发送给搜索前端进行展示。
2.根据权利要求1所述的系统,其特征在于,还包括:第三集群和所述搜索前端;
其中,
所述搜索前端,用于将所述处理后的所述不同目标语种的查询结果发送给所述第三集群;
所述第三集群,用于从所述搜索前端获取处理后的所述不同目标语种的查询结果,将所述不同目标语种的查询结果翻译为所述源语种的查询结果并返回给所述搜索前端;
所述搜索前端,还用于接收所述源语种的查询结果并进行展示。
3.根据权利要求1或2所述的系统,其特征在于,所述第一集群中设置有字段名称映射关系表,用于指示所述不同目标语种的查询结果中的字段名的对应关系;
所述第一集群在对所述第二集群返回的不同目标语种的查询结果进行处理时,根据所述字段名映射关系表,对所述不同目标语种的查询结果进行统计排序和合并,根据所述源语种的查询请求生成最终查询结果,其中,所述最终查询结果中包含有所述不同目标语种的查询结果的语种信息。
4.根据权利要求1所述的系统,其特征在于,所述第一集群,还用于在将源语种的查询请求翻译重写为多种目标语种的阶段查询请求之前,获取所述源语种的信息,并判断所述第一集群是否支持所述源语种,若支持,则将所述源语种的查询请求翻译重写为多种目标语种的阶段查询请求。
5.根据权利要求4所述的系统,其特征在于,所述第一集群在将所述源语种的查询请求翻译重写为多种目标语种的阶段查询请求时,将所述源语种的查询请求中的查询词翻译为所述第二集群中的每个集群所支持的语种的查询词,分别重新拼装为相应的多个第一阶段查询请求,其中,所述第一阶段查询请求用于查询数据索引信息。
6.根据权利要求5所述的系统,其特征在于,每个所述第二集群包括第一子集群和第二子集群;
其中,
所述第一子集群,用于接收发送给本第二集群的第一阶段查询请求,并向本第二集群中的第二子集群发送;
所述第二子集群,用于根据所述第一子集群发送的所述第一阶段查询请求,在本第二子集群内查询选取所述数据索引信息,并返回给所述第一子集群;
所述第一子集群,还用于对所述数据索引信息进行同构数据的统计排序和选取后,返回给所述第一集群。
7.根据权利要求6所述的系统,其特征在于,所述第一集群,还用于对多个所述第二集群中的第一子集群返回的不同语种的所述数据索引信息进行异构数据的统计排序和选取后,向所述多个第二集群中的第一子集群发送第二阶段查询请求,其中,所述第二阶段查询请求用于查询对应于统计排序和选取后的所述数据索引信息的数据详细信息。
8.根据权利要求7所述的系统,其特征在于,所述多个第二集群中的每个所述第一子集群还用于接收并向本第二集群的第二子集群发送所述第二阶段查询请求;本第二集群的第二子集群还用于根据所述第二阶段查询请求,获取本第二集群的数据详细信息并返回给本第二集群的第一子集群;所述第一子集群还用于对返回的所述数据详细信息进行同构数据合并后,返回给所述第一集群。
9.根据权利要求1所述的系统,其特征在于,所述搜索前端,还用于接收输入的所述源语种的查询词,生成所述源语种的查询请求并发送给所述第一集群,其中,所述源语种的查询请求中包含有所述源语种的信息和所述目标语种的信息。
10.根据权利要求2所述的系统,其特征在于,还包括:第四集群,用于维护所述第一集群和所述第二集群的集群机器角色和层次关系。
11.根据权利要求10所述的系统,其特征在于,
所述第一集群、所述第二集群、和所述第三集群均通过多个服务器实现;
所述第四集群,还用于对所述第一集群中的多个服务器进行负载均衡;以及,对所述第二集群中的第一子集群和/或第二子集群进行负载均衡。
12.一种信息查询方法,其特征在于,包括:
第一集群将源语种的查询请求翻译重写为多种目标语种的查询请求,并分别发送给多个不同语种的第二集群中的相应集群;
所述多个第二集群中的每个集群接收与本集群语种相对应的所述目标语种的查询请求,根据接收的所述目标语种的查询请求进行信息查询,并向所述第一集群返回本集群对应的目标语种的查询结果;
所述第一集群对所述第二集群返回的不同目标语种的查询结果进行处理后,发送给搜索前端进行展示。
13.根据权利要求12所述的方法,其特征在于,还包括:
所述搜索前端将所述处理后的所述不同目标语种的查询结果发送给第三集群;
所述第三集群从所述搜索前端获取处理后的所述不同目标语种的查询结果,将所述不同目标语种的查询结果翻译为所述源语种的查询结果并返回给所述搜索前端;
所述搜索前端接收所述源语种的查询结果并进行展示。
14.根据权利要求12或13所述的方法,其特征在于,所述第一集群对所述第二集群返回的不同目标语种的查询结果进行处理后,发送给搜索前端进行展示的步骤包括:
所述第一集群通过字段名称映射关系表对所述不同目标语种的查询结果进行统计排序和合并,根据所述源语种的查询请求生成最终查询结果并发送给所述搜索前端进行展示;
其中,所述字段名称映射关系表用于指示所述不同目标语种的查询结果中的字段名的对应关系;所述最终查询结果中包含有所述不同目标语种的查询结果的语种信息。
CN201210393631.5A 2012-10-16 2012-10-16 信息查询系统与方法 Active CN103729386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210393631.5A CN103729386B (zh) 2012-10-16 2012-10-16 信息查询系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210393631.5A CN103729386B (zh) 2012-10-16 2012-10-16 信息查询系统与方法

Publications (2)

Publication Number Publication Date
CN103729386A CN103729386A (zh) 2014-04-16
CN103729386B true CN103729386B (zh) 2017-08-04

Family

ID=50453464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210393631.5A Active CN103729386B (zh) 2012-10-16 2012-10-16 信息查询系统与方法

Country Status (1)

Country Link
CN (1) CN103729386B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573019B (zh) * 2015-01-12 2019-04-02 百度在线网络技术(北京)有限公司 信息检索方法和装置
CN104715032A (zh) * 2015-03-12 2015-06-17 福建工程学院 一种报表系统中英文表名字段名映射系统及方法
TWI712899B (zh) 2015-07-28 2020-12-11 香港商阿里巴巴集團服務有限公司 資訊查詢方法及裝置
CN105159891B (zh) * 2015-08-05 2018-05-04 焦点科技股份有限公司 一种构建多语言网站实时翻译的方法
CN106649396B (zh) * 2015-11-03 2019-11-08 腾讯科技(深圳)有限公司 游戏等级数据的排序方法、系统及装置
CN106055622A (zh) * 2016-05-26 2016-10-26 浪潮软件集团有限公司 一种数据搜索方法及系统
CN106446069B (zh) * 2016-09-07 2019-10-15 北京百度网讯科技有限公司 基于人工智能的推送信息的方法和装置
CN110019092B (zh) * 2017-12-27 2021-07-09 华为技术有限公司 数据存储的方法、控制器和系统
CN108090208A (zh) 2017-12-29 2018-05-29 广东欧珀移动通信有限公司 融合数据处理方法及装置
CN108427748A (zh) * 2018-03-12 2018-08-21 北京奇艺世纪科技有限公司 分布式数据库二级索引查询方法、装置以及服务器
CN109410069A (zh) * 2018-09-03 2019-03-01 平安医疗健康管理股份有限公司 结算数据处理方法、装置、计算机设备和存储介质
CN109614082B (zh) * 2018-09-28 2022-03-04 创新先进技术有限公司 一种针对数据查询脚本的翻译方法、装置及设备
CN109933724B (zh) * 2019-03-07 2022-01-14 上海智臻智能网络科技股份有限公司 知识搜索方法、系统、问答装置、电子设备及存储介质
CN110348940A (zh) * 2019-05-28 2019-10-18 成都美美臣科技有限公司 一种电子商务网站搜索建议的方法
CN110515731A (zh) * 2019-08-22 2019-11-29 北京浪潮数据技术有限公司 一种数据处理方法、装置及系统
CN111797091A (zh) * 2019-10-18 2020-10-20 北京沃东天骏信息技术有限公司 数据库中数据查询的方法、装置、电子设备和存储介质
CN112769880B (zh) * 2019-11-01 2022-09-16 腾讯科技(深圳)有限公司 属性查询方法、装置、存储介质和计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1424670A (zh) * 2002-12-25 2003-06-18 上海交通大学 跨语种网页搜索方法
CN1448868A (zh) * 2002-03-28 2003-10-15 株式会社东芝 交叉语言信息检索装置和方法
CN101099153A (zh) * 2005-01-04 2008-01-02 汤姆森环球资源公司 用于多语言信息检索的系统、方法、软件和界面
CN101743544A (zh) * 2007-05-16 2010-06-16 谷歌公司 跨语言信息检索
US8190608B1 (en) * 2001-08-28 2012-05-29 Google Inc. Systems and methods for using anchor text as parallel corpora for cross-language information retrieval

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271461B (zh) * 2007-03-19 2011-07-13 株式会社东芝 跨语言检索请求的转换及跨语言信息检索方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190608B1 (en) * 2001-08-28 2012-05-29 Google Inc. Systems and methods for using anchor text as parallel corpora for cross-language information retrieval
CN1448868A (zh) * 2002-03-28 2003-10-15 株式会社东芝 交叉语言信息检索装置和方法
CN1424670A (zh) * 2002-12-25 2003-06-18 上海交通大学 跨语种网页搜索方法
CN101099153A (zh) * 2005-01-04 2008-01-02 汤姆森环球资源公司 用于多语言信息检索的系统、方法、软件和界面
CN101743544A (zh) * 2007-05-16 2010-06-16 谷歌公司 跨语言信息检索

Also Published As

Publication number Publication date
CN103729386A (zh) 2014-04-16

Similar Documents

Publication Publication Date Title
CN103729386B (zh) 信息查询系统与方法
US11176114B2 (en) RAM daemons
US8918365B2 (en) Dedicating disks to reading or writing
US8271495B1 (en) System and method for automating categorization and aggregation of content from network sites
US20080077569A1 (en) Integrated Search Service System and Method
US20080215565A1 (en) Searching heterogeneous interrelated entities
JP6691280B1 (ja) 管理システム及び管理方法
CN103902701B (zh) 一种数据存储系统和存储方法
AU2011201819A1 (en) Propagating useful information among related web pages, such as web pages of a website
CN106055621A (zh) 一种日志检索方法及装置
CN106682145A (zh) 一种企业信息的处理方法、服务器及客户端
CN103699700A (zh) 一种搜索引导的生成方法、系统及相关服务器
CN103412881A (zh) 提供搜索结果的方法及系统
CN103064852A (zh) 网站统计信息处理方法及系统
CN102364467A (zh) 一种网络搜索方法和系统
CN109614507A (zh) 一种基于频繁项挖掘的遥感图像推荐装置
CN104281648B (zh) 基于维度标签的搜索结果多维度导航方法
CN102782677A (zh) 使用语义密钥的改良搜索
CN102982136A (zh) 浏览器地址栏中显示推荐网址信息的方法和浏览器
CN114265982B (zh) 一种基于知识图谱的智能推荐方法
Gerdes Jr et al. Addressing researchers' quest for hospitality data: mechanism for collecting data from web resources
Wang et al. on the World Wide Web
CN105354265A (zh) 一种自动构建投放关键词关联结构的方法及装置
US20080028311A1 (en) Method and System For Providing A Viewable Virtual Information Center
CA2703132A1 (en) Methods and system for information storage enabling fast information retrieval

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 1194509

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1194509

Country of ref document: HK