搜索引擎查询串的生成方法和装置以及搜索引擎系统的制作方法

文档序号:6504588阅读:153来源:国知局
搜索引擎查询串的生成方法和装置以及搜索引擎系统的制作方法
【专利摘要】本申请涉及搜索引擎查询串的生成方法和装置以及搜索引擎系统。所述方法包括:根据接收到的用户查询请求生成基本查询串;基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串;以及将所述多个查询子串拼接以生成所述搜索引擎查询串。根据本申请的技术方案,能够动态地生成搜索引擎查询串,当需要修改或维护时,只需要修改配置文件中的配置参数,就可以容易实现。不仅提高了引擎查询性能和降低了引擎维护成本,而且使得避免外部对搜索引擎的恶意操作。
【专利说明】搜索引擎查询串的生成方法和装置以及搜索引擎系统

【技术领域】
[0001 ] 本申请涉及数据处理领域,具体地涉及搜索引擎查询串的生成方法和装置以及搜索引擎系统。

【背景技术】
[0002]随着搜索经济的崛起,人们越来越关注全球各大搜索引擎的性能、技术和日流量等特性,因此搜索引擎的瓶颈以及性能提升逐步成为目前的研究热点。
[0003]在某些搜索引擎(如垂直搜索引擎)中,用户向搜索引擎提交查询时,用户向搜索引擎提交查询关键词(即自然语言,例如MP3)。而搜索引擎内部进行搜索时只接受或识别特定格式的查询串(即,机器语言),例如,q= [MP3] OR [MP3录音笔]AND [MP3耳机]&f ilter: customer_id=54321&sorttype: +update_time&count=12。因此,需要对用户的查询关键词进行相应处理以生成搜索引擎内部可识别的搜索引擎查询串。
[0004]目前大多数搜索引擎是通过其前端系统事先根据不同Pid(应用类型或业务类型)的查询串逻辑生成相应的模板,然后在实际应用中套用与输入的查询关键词相关的Pid所对应的模板来生成搜索引擎查询串。这里需要说明的是,Pid用于标识搜索的应用类型,一般对应于一种业务线。
[0005]目前这种方式存在如下缺点:
[0006](I)为了保证满足各种业务需求,这种与业务类型对应的模板的数量通常很大,当需要修改或维护时,往往不能随应用需求的变更或引擎接口的变更而快速响应,不利于维护且维护成本也很高。
[0007](2)由于在搜索引擎的前端完成搜索引擎查询串的生成,且搜索引擎查询串往往比较冗长复杂,所以搜索引擎的前端与后端之间交互复杂且不友好。另外,由于使用模板生成搜索引擎查询串,所以对外接口可扩展性差。此外,引擎对外暴露内部查询语法,容易让不法或误操作的使用方对弓I擎造成恶意或误攻击。


【发明内容】

[0008]针对上述问题,本申请的主要目的在于提供一种能够自动或动态地生成搜索引擎查询串的技术,以提高引擎查询性能和降低引擎维护成本,并使得避免外部对搜索引擎的恶意操作。
[0009]根据本申请的一个方面的实施例,提供一种搜索引擎查询串的生成方法,包括:根据接收到的用户查询请求生成基本查询串;基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串;以及将所述多个查询子串拼接以生成所述搜索引擎查询串。
[0010]根据本申请的实施例,该方法中,所述公共逻辑和接口逻辑可以按照如下方式配置的:将针对各种应用类型的搜索引擎查询串生成逻辑中的所有处理按照功能划分成多个处理模块;以及针对所述多个处理模块,配置对于各应用类型共有的公共逻辑和各应用类型特有的相应接口逻辑。
[0011]根据本申请的实施例,该方法中,所述基本查询串可以包括用户搜索词和所涉及的应用类型。
[0012]根据本申请的实施例,该方法中,将所述多个查询子串拼接以生成所述搜索引擎查询串的步骤中,可以使用分隔符将所述多个查询子串进行拼接以生成所述搜索引擎查询串O
[0013]根据本申请的实施例,该方法中,所述接口逻辑可以被配置为包括与应用类型对应的条件逻辑和与条件逻辑对应的动作逻辑。
[0014]根据本申请的实施例,该方法中,基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串的步骤可以进一步包括:查找与基本查询串中的应用类型参数对应的条件逻辑,从而查找到与该条件逻辑对应的动作逻辑;以及根据查找到的动作逻辑,调用并执行相关处理模块的接口逻辑部分和公共逻辑部分,从而生成与相关处理模块分别对应的各个查询子串。
[0015]根据本申请的另一方面的实施例,提供一种搜索引擎查询串的生成装置,其特征在于,包括:基本查询串生成模块,用于根据接收到的用户查询请求生成基本查询串;查询子串生成模块,用于基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串;以及拼接模块,用于将所述多个查询子串拼接以生成所述搜索引擎查询串。
[0016]根据本申请的又一方面的实施例,提供一种搜索引擎系统,其特征在于,包括:前端模块,用于根据接收到的用户查询请求生成基本查询串;查询串重写模块,用于:基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串;和将所述多个查询子串拼接以生成所述搜索引擎查询串;以及搜索模块,用于根据所述搜索引擎查询串搜索相关内容。
[0017]根据本申请的技术方案,能够动态地生成搜索引擎查询串,而无需套用和维护大量模板。当需要修改或维护时,只需要修改配置文件中的配置参数,就可以容易实现。不仅提高了引擎查询性能和降低了引擎维护成本,而且使得避免外部对搜索引擎的恶意操作。

【专利附图】

【附图说明】
[0018]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0019]图1示出根据本申请一个实施例的搜索引擎查询串的生成方法的流程图;
[0020]图2示出根据本申请一个实施例的配置文件的示意结构图;
[0021]图3示出根据本申请一个实施例的生成各个查询子串的方法的流程图;
[0022]图4示出根据本申请一个实施例的搜索引擎查询串的生成装置的示意性结构框图;以及
[0023]图5示出根据本申请一个实施例的搜索引擎系统的示意性结构框图。

【具体实施方式】
[0024]本申请的主要思想在于,将搜索引擎中各种应用类型的搜索引擎查询串生成逻辑按照诸如功能之类的某种规则划分成各个处理模块,并且根据各个处理模块共有的处理逻辑来配置公共逻辑配置文件,并根据各个处理模块特有的处理逻辑来针对各个应用类型配置相应的接口逻辑配置文件。在实际使用时,根据所配置的公共逻辑和接口逻辑配置文件执行相关处理模块的处理来生成相应的各个查询子串,然后将这些查询子串拼接在一起来形成符合搜索引擎查询语法(或适用于搜索引擎内部使用)的搜索引擎查询串。由此使得引擎对外提供的接口是一个可灵活修改的配置文件,从而可以动态地生成搜索引擎查询串,便于引擎的维护并且降低引擎维护成本。
[0025]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026]参考图1,图1示出根据本申请一个实施例的搜索引擎查询串的生成方法的流程图。
[0027]本申请的技术场景可以是:用户通过在搜索引擎提供的用户界面中输入搜索词来发起用户查询请求。然而用户的查询请求不能被搜索引擎直接使用并进行搜索,在搜索引擎搜索前,需要对用户的查询请求进行预处理以使得符合搜索引擎查询语法,以便搜索引擎识别,并且使得搜索效率高且搜索结果更好地满足用户需求。经这种预处理后的结果即为搜索引擎查询串,本实施例即描述如何动态生成搜索引擎查询串。
[0028]根据本申请的搜索引擎查询串生成机制,既可以在搜索引擎的前端系统中执行,也可以在搜索引擎的后端系统中的查询串重写模块中执行,下面结合图1进行具体描述。
[0029]如图1所示,在步骤SllO处,根据接收到的用户查询请求生成基本查询串。
[0030]如前面所述,用户可以在搜索引擎(例如其前端系统/前端模块)提供的用户界面中(例如,搜索页面的搜索栏中)输入搜索词来发起用户查询请求。然后,搜索引擎(例如其前端系统/前端模块)可以根据该用户查询请求生成可由搜索引擎识别和处理的基本查询串O
[0031]该基本查询串可以包括与用户查询请求相关的若干信息。根据本申请的一个实施例,该基本查询串可以包括用户搜索词以及所涉及的应用类型。例如“query=MP3&pid=819025”表示使用标识码为“819025”的应用接口,搜索所有带“MP3”的商家或商品。
[0032]具体而言,搜索引擎可以根据用户查询请求中包含的搜索词或语句,通过分词处理等来确定用户搜索词或搜索关键词。
[0033]另外,搜索引擎可以根据用户查询请求所针对的业务种类来确定所涉及的应用类型。一般,用户的查询位置及查询选项决定了搜索对应的应用类型。例如用户在甲网站中首页的搜索位置选择“商铺”标签,输入关键词,并发起查询,则其查询的应用类型为“在甲网站全网搜索商铺”;若用户选择“商品”标签,则应用类型为“在甲网站全网搜索商品”;若用户选择“MP3下载”标签,则应用类型为“在甲网站搜索可下载的MP3文件”。在搜索引擎内部,应用类型可以用参数Pid表示,每一个应用类型通常事先被赋予特定的值例如特定格式的数字序列(例如819175_1008)等等。
[0034]在其它实施例中,该基本查询串还可以包括用户IP地址等等其它与用户查询请求相关的信息。
[0035]这里需要指出的是,上述基本查询串的内容可以根据实际应用需要来调整,而不限于上述示例。
[0036]在步骤S120处,基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串。
[0037]具体而言,在搜索引擎(例如其前端模块或查询串重写模块)的相应配置文件中可以包含用于针对各应用类型生成相应多个查询子串的公共逻辑和接口逻辑。其中,公共逻辑对所有应用类型都适用。而接口逻辑仅适用于对应的应用类型,因而在配置文件中可以有若干个接口逻辑,每个接口逻辑仅与特定的应用类型相对应。
[0038]根据本申请的一个实施例,所述公共逻辑和接口逻辑可以按照如下方式配置:将各种应用类型的搜索引擎查询串生成逻辑中的所有处理按照功能划分成多个处理模块;以及针对所述多个处理模块,配置对于各应用类型共有的公共逻辑和各应用类型特有的相应接口逻辑。
[0039]具体而言,针对不同的应用类型,搜索引擎查询串的生成逻辑不同,即需要进行的处理不同。根据本申请的实施例,将各种搜索引擎查询串生成逻辑中的处理模块按照某种规则(并不限于“按照功能”)划分成多个处理模块,每个处理模块完成特定功能。这些处理模块例如可以包括用于违禁词过滤的处理模块、用于近义词扩展的处理模块、用于竞价定制的处理模块等等。一般,完成特定功能的处理模块依据配置的不同,其完成的结果也会有差异。针对不同种类的应用类型,对同一个处理模块的配置会有相同的部分及不同的部分。根据本申请的实施例,将处理模块的配置中相同的部分(即适用于所有应用类型)配置到公共逻辑中,将处理模块的配置中不同的部分,按照应用类型的不同,分别配置到与其对应的接口逻辑中。
[0040]根据本申请的一个实施例,所述接口逻辑可以被配置为包括与应用类型对应的条件逻辑和与条件逻辑对应的动作逻辑。条件逻辑用于匹配应用类型,动作逻辑用于配置针对特定应用类型的搜索引擎查询串生成逻辑中的多个处理模块的执行逻辑。
[0041]一个典型的配置文件结构如图2所示,图2示出根据本申请一个实施例的配置文件的示意结构图。所述结构图并非限定“一个文件”的结构,而仅指示出配置文件(或配置文件集合)中内容的关系,依据本申请的方法,可以调整所述结构图中的内容和结构以实现本申请相同的方法。
[0042]配置文件(或配置文件集合)可以包括两部分:公共逻辑210及接口逻辑220。本示例中,公共逻辑210和接口逻辑220中包括了处理模块A、B、C的配置。
[0043]公共逻辑210中包括处理模块A的配置211、处理模块B的配置212及处理模块C的配置213。
[0044]配置211是不同种类的应用类型(pid)对处理模块A的配置中的相同部分(即适用于所有应用类型的配置内容)。
[0045]配置212是不同种类的应用类型对处理模块B的配置中的相同部分。
[0046]配置213是不同种类的应用类型对处理模块C的配置中的相同部分。
[0047]接口逻辑220中包括一个或多个对应于不同pid值的接口子逻辑221。
[0048]在本例中,每一接口子逻辑221对应于一个特定的应用类型,即特定的pid值。每一接口子逻辑221中包括条件逻辑230及动作逻辑240。条件逻辑230中,描述了符合条件逻辑230的pid值为“819175”。动作逻辑240中包括了适用于条件逻辑230描述的pid值所对应的应用类型(本例中,即pid值为“819175”的应用类型)对于各处理模块的配置。
[0049]动作逻辑240包括处理模块A对应于所述特定应用类型的配置241、处理模块B对应于所述特定应用类型的配置242及处理模块C对应于所述特定应用类型的配置243。
[0050]对于一个应用类型pid为“819175”的基本查询串来说,处理模块A对应于该基本查询串的配置则包括公共逻辑210中的配置211及配置241。处理模块A通过这两个配置,即可生成对应该基本查询串的一个查询子串。同理,处理模块B、处理模块C也分别生成对应该基本查询串的查询子串。如稍后将描述的那样,这三个查询子串经过拼接即可生成一个完整的搜索引擎查询串。
[0051]需要说明的是,公共逻辑中出现的模块配置与接口逻辑中出现的模块配置有可能不是一一对应的,例如,假如接口子逻辑221中不存在处理模块A对应于特定应用类型的配置241,且处理模块A的配置全部在公共逻辑210的配置211中,即对所有pid都适用,则处理模块A依据配置211即可生成查询子串。假如公共逻辑210中不存在处理模块B的配置212,且对处理模块B的配置全部在接口子逻辑221的处理模块B对应于特定应用类型的配置242中,即其仅对pid值为819175的基本查询串使用,则处理模块B依据配置242即可生成查询子串。
[0052]此外,尽管图2中仅示出三个模块的配置,但本领域技术人员应理解到,本申请对模块的数量、功能和实现形式并不作任何限制,并且根据搜索引擎的不同、划分依据的不同,模块数量、功能以及实现形式也可以任意变化。比如,可以根据搜索引擎的需要,在一个模块中递归嵌套一个或多个子模块来实现所需功能。
[0053]以上描述了根据本申请实施例的包括公共逻辑和接口逻辑的配置文件的配置方式。
[0054]接下来,在一个具体实施例中,基于基本查询串,根据公共逻辑和对应的接口逻辑可以调用并执行该应用类型所需的各个处理模块,从而生成多个查询子串,其中每个处理模块的执行生成一个查询子串。下面结合图3详细描述根据本申请一个实施例的生成各个查询子串的过程。
[0055]如图3所示,在步骤S310处,查找与基本查询串中的应用类型参数对应的条件逻辑,从而查找到与该条件逻辑对应的动作逻辑。
[0056]例如,参考图2,假设一个基本查询串的应用类型的pid值为819175,则查找对应的条件逻辑,即条件逻辑230,从而找到与该条件逻辑230对应的动作逻辑240。
[0057]在步骤S320处,根据查找到的动作逻辑,调用并执行相关处理模块的接口逻辑部分和公共逻辑部分,从而生成与相关处理模块分别对应的各个查询子串。
[0058]接上例,参考图2,根据查找到的动作逻辑240,可以查找到处理模块为处理模块A、处理模块B、处理模块C。根据处理模块A的接口逻辑部分即配置241和处理模块A的公共逻辑部分即配置211中的相应配置文件调用并执行处理模块A,从而生成与处理模块A相对应的查询子串。类似地,通过根据相应的公共逻辑和接口逻辑调用并执行处理模块B、C,分别生成它们各自对应的查询子串。
[0059]在根据配置文件中的公共逻辑和接口逻辑生成多个查询子串之后,返回图1,在步骤S130处,将多个查询子串拼接以生成搜索引擎查询串。也就是,将根据搜索引擎查询串生成逻辑划分的多个处理模块的处理结果组装,从而生成搜索引擎查询串。
[0060]在一个具体实施例中,可以使用分隔符将多个查询子串进行拼接以生成搜索引擎查询串。
[0061]本领域技术人员应理解到,本申请并不限于上述具体实施例,而是可以使用本领域已知或未来开发的其它任意合适方式来拼接或组装多个查询子串以生成搜索引擎查询串O
[0062]至此描述了根据本申请实施例的搜索引擎查询串的生成方法。根据该方法,可以动态地生成搜索引擎查询串,便于引擎的维护并且大大降低引擎维护成本。
[0063]与上述搜索引擎查询串的生成方法类似,本申请还提供一种搜索引擎查询串的生成装置。
[0064]参考图4,图4示出根据本申请一个实施例的搜索引擎查询串的生成装置400的示意性结构框图。
[0065]具体而言,该装置400可以包括基本查询串生成模块410、查询子串生成模块420和拼接模块430。
[0066]更具体而言,基本查询串生成模块410可以用于根据接收到的用户查询请求生成基本查询串。
[0067]优选的,基本查询串可以包括用户搜索词和所涉及的应用类型。
[0068]查询子串生成模块420可以用于基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串。
[0069]优选的,公共逻辑和接口逻辑可以按照如下方式配置:将搜索引擎查询串逻辑按照功能划分成多个处理模块;以及针对所述多个处理模块,配置对于各应用类型共有的公共逻辑和各应用类型特有的相应接口逻辑。
[0070]优选的,接口逻辑可以配置为包括与应用类型对应的条件逻辑和与条件逻辑对应的动作逻辑。
[0071]优选的,查询子串生成模块420可以进一步包括:查找子模块421,用于查找与基本查询串中的应用类型参数对应的条件逻辑,从而查找到与该条件逻辑对应的动作逻辑;以及调用子模块422,用于根据查找到的动作逻辑,调用并执行相关处理模块的公共逻辑部分和接口逻辑部分,从而生成与相关处理模块分别对应的各个查询子串。
[0072]拼接模块430可以用于将多个查询子串拼接以生成搜索引擎查询串。
[0073]优选的,拼接模块430可以使用分隔符将所述多个查询子串进行拼接以生成所述搜索引擎查询串。
[0074]类似地,根据本申请实施例的搜索引擎查询串的生成装置,也可以动态地生成搜索引擎查询串,便于引擎的维护并且大大降低引擎维护成本。
[0075]本申请的上述方法和装置可以应用于任意搜索引擎系统中。下面结合图5描述根据本申请一个实施例的搜索引擎系统500的示意性结构。
[0076]如图5所示,搜索引擎系统500可以包括前端模块510、查询串重写模块520、搜索模块530。
[0077]具体而言,前端模块510可以用于根据接收到的用户查询请求生成基本查询串。查询串重写模块520可以用于:基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串;和将所述多个查询子串拼接以生成所述搜索引擎查询串。搜索模块530可以用于根据所述搜索引擎查询串搜索相关内容。
[0078]优选的,搜索模块530还可以用于将搜索的相关内容返回给前端模块510,并且前端模块510还可以用于将所述相关内容显示给用户。
[0079]在本申请实施例的搜索引擎系统中,搜索引擎查询串的生成逻辑是在查询串重写模块中执行。与现有技术中在搜索引擎的前端系统(前端模块)套用模板生成搜索引擎查询串的方案相比,在本申请实施例的查询串重写模块中不仅可以实现违禁词过滤、查询扩展、编解码转化、有效性检查等业务逻辑,而且可以根据搜索引擎查询串生成逻辑、按照各应用类型要求灵活生成底层搜索模块能够识别的搜索引擎查询串。因此,由于无需套用和维护大量模板,引擎对外提供的接口是一个可以灵活修改的配置文件,并且可以动态生成搜索引擎查询串,所以提高了引擎查询性能、便于搜索引擎的维护并且可以大大降低引擎维护成本。另外,由于代替前端模块,而在查询串重写模块上实现搜索引擎查询串的生成,因而可以减轻前端系统的工作量,并且对前端系统提供透明服务,避免了因内部查询语法暴露而让不法或误操作的使用方对搜索引擎造成恶意或误攻击。
[0080]这里需要说明的是,在上面的实施例中描述的搜索引擎系统是通过查询串重写模块执行本申请的搜索引擎生成方法,但实际上本申请的搜索引擎生成方法也可以在搜索引擎的包括前端系统在内的其它任意模块中执行,而并不限于查询串重写模块或其它模块。
[0081]本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块或单元。一般地,程序模块或单元可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。一般来说,程序模块或单元可以由软件、硬件或两者的结合来实现。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块或单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0082]最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0083]本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其主要思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本申请的权利要求范围之内。综上所述,本说明书内容不应理解为对本申请的限制。
[0084]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0085]在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0086]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0087]以上所述仅为本申请的实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
【权利要求】
1.一种搜索引擎查询串的生成方法,其特征在于,包括: 根据接收到的用户查询请求生成基本查询串; 基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串;以及 将所述多个查询子串拼接以生成所述搜索引擎查询串。
2.根据权利要求1所述的方法,其特征在于,所述公共逻辑和接口逻辑是按照如下方式配置的: 将针对各种应用类型的搜索引擎查询串生成逻辑中的所有处理按照功能划分成多个处理模块;以及 针对所述多个处理模块,配置对于各应用类型共有的公共逻辑和各应用类型特有的相应接口逻辑。
3.根据权利要求1所述的方法,其特征在于,所述基本查询串包括用户搜索词和所涉及的应用类型。
4.根据权利要求1所述的方法,其特征在于,使用分隔符将所述多个查询子串进行拼接以生成所述搜索引擎查询串。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述接口逻辑配置为包括与应用类型对应的条件逻辑和与条件逻辑对应的动作逻辑。
6.根据权利要求5所述的方法,其特征在于,基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串的步骤进一步包括: 查找与基本查询串中的应用类型参数对应的条件逻辑,从而查找到与该条件逻辑对应的动作逻辑;以及 根据查找到的动作逻辑,调用并执行相关处理模块的接口逻辑部分和公共逻辑部分,从而生成与相关处理模块分别对应的各个查询子串。
7.一种搜索引擎查询串的生成装置,其特征在于,包括: 基本查询串生成模块,用于根据接收到的用户查询请求生成基本查询串; 查询子串生成模块,用于基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串;以及 拼接模块,用于将所述多个查询子串拼接以生成所述搜索引擎查询串。
8.根据权利要求7所述的装置,其特征在于,所述公共逻辑和接口逻辑是按照如下方式配置的: 将针对各种应用类型的搜索引擎查询串生成逻辑中的所有处理按照功能划分成多个处理模块;以及 针对所述多个处理模块,配置对于各应用类型共有的公共逻辑和各应用类型特有的相应接口逻辑。
9.根据权利要求7所述的装置,其特征在于,所述基本查询串包括用户搜索词和所涉及的应用类型。
10.根据权利要求7所述的装置,其特征在于,所述拼接模块使用分隔符将所述多个查询子串进行拼接以生成所述搜索引擎查询串。
11.根据权利要求7-10中任一项所述的装置,其特征在于,所述接口逻辑配置为包括与应用类型对应的条件逻辑和与条件逻辑对应的动作逻辑。
12.根据权利要求11所述的装置,其特征在于,所述查询子串生成模块进一步包括: 查找子模块,用于查找与基本查询串中的应用类型参数对应的条件逻辑,从而查找到与该条件逻辑对应的动作逻辑;以及 调用子模块,用于根据查找到的动作逻辑,调用并执行相关处理模块的公共逻辑部分和接口逻辑部分,从而生成与相关处理模块分别对应的各个查询子串。
13.一种搜索引擎系统,其特征在于,包括: 前端模块,用于根据接收到的用户查询请求生成基本查询串; 查询串重写模块,用于: 基于基本查询串,根据配置文件中包括的公共逻辑和接口逻辑生成多个查询子串;和 将所述多个查询子串拼接以生成所述搜索引擎查询串;以及 搜索模块,用于根据所述搜索引擎查询串搜索相关内容。
14.根据权利要求13所述的系统,其特征在于,所述搜索模块还用于将搜索的相关内容返回给前端模块;并且 所述前端模块还用于将所述相关内容显示给用户。
【文档编号】G06F9/44GK104239021SQ201310250843
【公开日】2014年12月24日 申请日期:2013年6月21日 优先权日:2013年6月21日
【发明者】李娟娟, 李俊良, 吴德 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1