CN102141990B - 一种搜索方法和装置 - Google Patents

一种搜索方法和装置 Download PDF

Info

Publication number
CN102141990B
CN102141990B CN201010103540.4A CN201010103540A CN102141990B CN 102141990 B CN102141990 B CN 102141990B CN 201010103540 A CN201010103540 A CN 201010103540A CN 102141990 B CN102141990 B CN 102141990B
Authority
CN
China
Prior art keywords
execution module
execution
module
search
output rusults
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
CN201010103540.4A
Other languages
English (en)
Other versions
CN102141990A (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 CN201010103540.4A priority Critical patent/CN102141990B/zh
Priority to US13/014,409 priority patent/US8498975B2/en
Priority to JP2012551177A priority patent/JP5481570B2/ja
Priority to PCT/US2011/000169 priority patent/WO2011094020A1/en
Priority to EP11737411.6A priority patent/EP2531908B1/en
Publication of CN102141990A publication Critical patent/CN102141990A/zh
Priority to HK11113975.9A priority patent/HK1159787A1/xx
Priority to US13/925,698 priority patent/US9069859B2/en
Application granted granted Critical
Publication of CN102141990B publication Critical patent/CN102141990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/903Querying
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种搜索方法和装置,该方法包括以下步骤:获取客户端输入的搜索参数,根据预先配置的或者所述客户端选择的搜索标签确定处理所述搜索参数的执行序列;按照所述执行序列依次调用所述执行序列对应的执行模块,获取所述执行模块对所述搜索参数的输出结果,根据所述执行模块的输出结果的精确度等级生成搜索计划,所述搜索计划包括处理所述搜索参数的执行模块;使用所述搜索计划确定的执行模块处理所述搜索参数,获取所述确定的执行模块的执行结果,并按照所述执行结果进行搜索,获取搜索结果。通过使用本申请,能够更加快速准确地获取用户意图并将用户意图转换为搜索引擎能够理解的机器语言和执行策略,方便了对执行模块的管理。

Description

一种搜索方法和装置
技术领域
本申请涉及网络技术领域,特别是涉及一种搜索方法和装置。
背景技术
随着电脑技术和网络技术的高速发展,以及近年来国内互联网环境的改善,网际网络逐渐成为一种获取信息的重要管道,而网上信息也得到了***性的增长。搜索技术的出现为网络用户快速找到所需信息提供了便捷的手段,传统的搜索方法主要使用三种类型的搜索引擎,即机器人搜索引擎(Robot)、目录式搜索引擎(Directory or Catalog)和元搜索引擎(Meta)。传统的搜索方法主要采用关键词匹配来实现对信息的检索,由于用户很难简单地用关键词或关键词串来忠实地表达真正需要检索的内容,表达困难导致检索困难,而且自然语言随着时间、地域或领域的改变,同一概念可以用不同的语言表现形式来表达,对同一概念的检索,不同的用户可能使用不同的关键词查询,结果导致大量的无关信息返回用户。
为解决上述问题,业内出现了以智能搜索方法为基础的智能搜索引擎,采取以知识库为基础的语义分析技术,利用分词技术、短语识别、处理同义词等手段,根据特征对用户输入的搜索参数进行分析,产生不同的搜索方案,即搜索计划。其中,用户输入的搜索参数可以是具有一定特征的词汇,可以是音译词或同音词。如果用户输错了搜索参数,例如,用户错误地将“诺基亚”输入成“诺记亚”,***平台可以对错词进行分析,自动推荐出用“诺基亚”进行搜索的方案,该搜索方案即为对应用户输入的搜索参数的一个搜索计划。另外,当用户过于口语化的描述“我要采购手机”时,实际上搜索的是“手机”,因此,搜索引擎可以仅保留“手机”作为搜索计划。上述两种生成搜索计划的方案,可以在搜索引擎中分别通过拼写纠错模块和重写模块实现。其中,拼写纠错模块可以将错误的输入词改变成正确的输入词;重写模块可以进行输入词分词,找出中心词等,改写成适合搜索应用的词。
现有技术中,通常采用动态加载模块的方式生成搜索计划。具体地,在现有的开源服务平台,例如Apache服务器,可以通过写C代码实现动态扩展模块。其中,Apache服务器是一个响应HTTP(Hyper Text Transfer Protocol,超文本传输协议)请求的web服务器,用于响应最基本的web服务。在Apache服务器上动态加载模块时,首先需要充分了解Apache服务器的运行机制,或是编写PHP(Hypertext Preprocessor,超级文本预处理语言)模块,利用PHP模块对Apache接口进行再次封装,将PHP模块编译后动态装载到Apache服务器中提供服务。上述动态加载模块采用普通的责任链模式的设计,一旦模块的任务完成,则立即退出应用。
在实现本申请的过程中,发明人发现现有技术至少存在如下问题:
由于Apache服务器本身的设计过于复杂,实现Apache动态模块会直接导致实现模块成本很高,增加了维护的难度。另外,模块之间无法协调工作,也不能对模块的编写进行统一控制。当出现冲突的Apache模块时,如果直接提高对模块的编写要求,则在新增模块时需要修改以前的模块,当模块数量较多时,成本会很大,会降低模块的扩展性;如果通过使用PHP模块扩展,又会增加依赖性和维护的难度。
发明内容
本申请提供了一种搜索方法和装置,能够更快地获取搜索词,方便了对执行模块的管理。
本申请提出一种搜索方法,包括以下步骤:
获取客户端输入的搜索参数,根据预先配置的或者所述客户端选择的搜索标签确定处理所述搜索参数的执行序列;
按照所述执行序列依次调用所述执行序列对应的执行模块,获取所述执行模块对所述搜索参数的输出结果,根据所述执行模块的输出结果的精确度等级生成搜索计划,所述搜索计划包括处理所述搜索参数的执行模块;
使用所述搜索计划确定的执行模块处理所述搜索参数,获取所述确定的执行模块的执行结果,并按照所述执行结果进行搜索,获取搜索结果。
优选地,所述根据所述执行模块的输出结果的精确度等级生成搜索计划,具体包括:
判断所述执行模块的输出结果的精确度等级是否满足第一精确度要求,如果满足,则确定由所述执行模块处理所述搜索参数。
优选地,所述判断执行模块的输出结果的精确度等级满足精确度要求之后,还包括:
判断所述满足第一精确度要求的执行模块之间是否互相冲突,如果互相冲突,则由所述互相冲突的执行模块中输出结果的精确度等级最高的执行模块处理所述搜索参数。
优选地,所述判断满足精确度要求的执行模块之间是否互相冲突,具体包括:
判断所述满足第一精确度要求的执行模块中是否存在至少两个包含在预定义的冲突序列中的执行模块;
如果存在,则判断所述满足第一精确度要求的执行模块之间互相冲突;如果不存在,则判断所述满足第一精确度要求的执行模块之间不互相冲突。
优选地,所述执行模块的输出结果还包括所述执行模块的执行结果,
当所述执行模块的输出结果满足第二精确度要求且所述搜索参数满足预设的复杂度要求时,按照所述执行模块的执行结果进行搜索,获取搜索结果。
优选地,所述执行模块的输出结果包括所述执行模块的执行结果时,
所述获取执行模块对所述搜索参数的输出结果之后,还包括:
将所述执行模块的输出结果中的执行结果通知所述执行序列中的后续执行模块,使所述后续执行模块根据所述执行模块的执行结果生成输出结果。
优选地,所述的方法,还包括:
为所述执行序列中的各个执行模块设置统一的接口,通过所述接口为所述各个执行模块的输出结果设置统一的精确度等级。
本申请还提出一种搜索装置,包括:
获取模块,用于获取客户端输入的搜索参数,根据预先配置的或者所述客户端选择的搜索标签确定处理所述搜索参数的执行序列;
调用模块,用于按照所述获取模块确定的执行序列依次调用所述执行序列对应的执行模块,获取所述执行模块对所述搜索参数的输出结果,根据所述执行模块的输出结果的精确度等级生成搜索计划,所述搜索计划包括处理所述搜索参数的执行模块;
搜索模块,用于使用所述调用模块生成的搜索计划确定的执行模块处理所述搜索参数,获取所述确定的执行模块的执行结果,并按照所述执行结果进行搜索,获取搜索结果。
优选地,所述调用模块,具体用于判断所述执行模块的输出结果的精确度等级是否满足第一精确度要求,如果满足,则确定由所述执行模块处理所述搜索参数。
优选地,所述调用模块,还用于判断所述满足第一精确度要求的执行模块之间是否互相冲突,如果互相冲突,则由所述互相冲突的执行模块中输出结果的精确度等级最高的执行模块处理所述搜索参数。
优选地,所述调用模块,具体用于判断所述满足第一精确度要求的执行模块中是否存在至少两个包含在预定义的冲突序列中的执行模块;如果存在,则判断所述满足第一精确度要求的执行模块之间互相冲突;如果不存在,则判断所述满足第一精确度要求的执行模块之间不互相冲突。
优选地,所述执行模块的输出结果还包括所述执行模块的执行结果,
所述搜索模块,还用于在所述执行模块的输出结果满足第二精确度要求且所述搜索参数满足预设的复杂度要求时,按照所述执行模块的执行结果进行搜索,获取搜索结果。
优选地,所述执行模块的输出结果包括所述执行模块的执行结果时,
所述调用模块,还用于将所述执行模块的输出结果中的执行结果通知所述执行序列中的后续执行模块,使所述后续执行模块根据所述执行模块的执行结果生成输出结果。
优选地,所述的装置,还包括:
设置模块,用于为所述执行序列中的各个执行模块设置统一的接口,通过所述接口为所述各个执行模块的输出结果设置统一的精确度等级,供所述调用模块使用。
本申请包括以下优点,根据执行模块的执行结果的精确度对可能冲突的执行模块进行协调,方便了对执行模块的管理,在不改变原有的执行模块的前提下,能够输出更优的搜索词。另外,对执行模块的调用采用独立的服务,不影响搜索引擎核心查询服务的稳定性,且执行模块可以进行分布部署,不与搜索引擎服务绑定,也不与搜索引擎竞争服务器资源,对服务器产生的压力小,处理速度快。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对本申请或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一中的一种搜索方法流程图;
图2为本申请实施例二中的一种搜索***架构示意图;
图3为本申请实施例二中的一种搜索方法流程图;
图4为本申请实施例三中的一种搜索装置结构示意图;
图5为本申请实施例四中的一种搜索装置结构示意图。
具体实施方式
本申请的主要思想包括,使用独立的平台统一控制搜索词的生成,按照统一的接口管理同一执行序列中的多个执行模块,根据各个执行模块的输出结果的精确度等级确定处理搜索参数的执行模块,并根据该确定的执行模块的执行结果,使用搜索引擎进行搜索,并获取搜索结果。例如,当***同时选择拼写纠错模块和重写模块处理搜索参数时,当拼写纠错模块和重写模块的输出结果均满足执行序列对应的精确度要求时,则搜索计划中包括拼写纠错模块和重写模块,可以获取拼写纠错模块和重写模块的执行结果以及搜索引擎对该执行结果的搜索结果;如果拼写纠错模块和重写模块互相冲突,则根据拼写纠错模块和重写模块的输出结果的精确度等级确定保留在搜索计划中的执行模块。
其中,执行模块的输出结果可以是对是否需要使用该执行模块处理搜索参数的判断结果,包括“是”和“否”;也可以是该执行模块对搜索参数的处理结果,即执行模块的执行结果。***可以设定对执行模块的输出结果的精确度要求,当执行模块的输出结果满足预设的精确度要求时,则执行该执行模块,获取该执行模块的执行结果。
另外,为便于比较不同执行模块的输出结果的精确度,***可以为各个执行模块的输出结果设置统一的精确度等级。将执行模块的输出结果以及该输出结果对应的搜索参数作为精确度算法的计算因数,进行精确度计算,可以获取执行模块的输出结果的精确度等级。其中,精确度等级用于表征执行模块处理搜索参数的适合程度。
此外,***还可以为执行序列设置精确度要求,通过比较该精确度要求与执行模块的输出结果的精确度等级之间的关系,判断执行序列对应的各个执行模块的输出结果是否满足要求。如果执行模块的输出结果的精确度等级大于执行序列对应的精确度要求,则判断该执行模块的输出结果满足执行序列对应的精确度要求;否则,则判断该执行模块的输出结果不满足执行序列对应的精确度要求。
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例一中的一种搜索方法流程图,包括以下步骤:
步骤101,获取客户端输入的搜索参数,根据预先配置的或者该客户端选择的搜索标签确定处理搜索参数的执行序列。
其中,搜索标签为客户端输入的搜索参数对应的搜索结果的类别,可以包括“产品”、“资讯”、“技术”和“全部”等类别。客户端可以根据用户需求选择搜索标签,当客户端没有选择搜索标签时,***可以使用预先配置的搜索标签,即“全部”的搜索标签。
不同的搜索标签对应不同的执行序列,执行序列为***预先设定的包含一个或多个执行模块的封装包,执行序列中的执行模块可以是自定义的模块。***可以定义包含部分执行模块的执行序列,通过该执行序列对执行模块进行选择执行;也可以将执行序列默认配置为全部的执行模块。***设定的各个执行序列可以对客户端输入的搜索参数进行不同的处理,对应不同的处理功能和对输出结果的精确度要求。客户端可以根据用户的需求,选择对应所需处理功能对应的搜索标签,并输入待处理的搜索参数,***以及该搜索标签确定处理该搜索参数的执行序列。
步骤102,按照执行序列依次调用执行序列对应的执行模块,获取该执行模块对所述搜索参数的输出结果,根据执行模块的输出结果的精确度等级生成搜索计划。
其中,搜索计划可以包括处理搜索参数的执行模块,还可以执行模块对搜索参数的处理策略。
具体地,可以为所述执行序列中的各个执行模块设置统一的接口,通过所述接口为所述各个执行模块的输出结果设置统一的精确度等级。***可以判断所述执行模块的输出结果的精确度等级是否满足第一精确度要求,如果满足,则确定由所述执行模块处理所述搜索参数,即该执行模块包括在搜索计划中。
当判断执行模块的输出结果的精确度等级满足精确度要求之后,还可以判断所述满足第一精确度要求的执行模块之间是否互相冲突,如果互相冲突,则由所述互相冲突的执行模块中输出结果的精确度等级最高的执行模块处理所述搜索参数,即在搜索计划中仅保留所述互相冲突的执行模块中输出结果的精确度等级最高的执行模块。
上述判断满足精确度要求的执行模块之间是否互相冲突,具体包括:判断所述满足第一精确度要求的执行模块中是否存在至少两个包含在预定义的冲突序列中的执行模块;如果存在,则判断所述满足第一精确度要求的执行模块之间互相冲突;如果不存在,则判断所述满足第一精确度要求的执行模块之间不互相冲突。
所述执行模块的输出结果还可以包括所述执行模块的执行结果,当所述执行模块的输出结果满足第二精确度要求且所述搜索参数满足预设的复杂度要求时,按照所述执行模块的执行结果进行搜索,获取搜索结果。上述第二精确度要求高于第一精确度要求。
其中,执行模块对搜索参数的执行结果可以为该执行模块修正后的搜索参数。例如,当执行模块为拼写纠错模块、搜索参数为“诺记亚”时,拼写纠错模块的执行结果为修正后的搜索参数,即“诺基亚”;当执行模块为重写模块、搜索参数为“我要采购手机”时,重写模块的执行结果为修正后的搜索参数,即“手机”。当执行模块的输出结果包括所述执行模块的执行结果时,上述获取执行模块对所述搜索参数的输出结果之后,还可以将所述执行模块的输出结果中的执行结果通知所述执行序列中的后续执行模块,使所述后续执行模块根据所述执行模块的执行结果生成输出结果。
步骤103,使用搜索计划确定的执行模块处理搜索参数,获取该确定的执行模块的执行结果,并按照该执行结果进行搜索,获取搜索结果。
具体地,可以使用搜索计划中的各个执行模块分别处理搜索参数,获取各个执行模块的执行结果,并判断执行结果的个数是否大于指定输出个数;如果所述执行结果的个数大于所述指定输出个数,则将所述保留的执行结果中精确度等级最高的执行结果作为搜索词发送到搜索引擎,通过搜索引擎获取搜索结果。
此外,在将执行模块的执行结果发送到搜索引擎进行搜索的同时,***还可以将执行模块的执行结果返回给客户端,供客户端使用。***也可以将执行模块的执行结果仅返回给客户端,而不再发送给搜索引擎,以减轻搜索引擎的压力。例如,执行模块为违禁词的过滤模块时,可以将执行结果直接返回给客户端,而不再根据执行结果进行搜索。
本申请包括以下优点,根据执行模块的执行结果的精确度对可能冲突的执行模块进行协调,能够更加快速准确地获取搜索参数背后的用户意图并将用户意图转换为搜索引擎能够理解的机器语言和执行策略,方便了对执行模块的管理,在不改变原有的执行模块的前提下,能够输出更优的搜索词。另外,对执行模块的调用采用独立的服务,不影响搜索引擎核心查询服务的稳定性,且执行模块可以进行分布部署,不与搜索引擎服务绑定,也不与搜索引擎竞争服务器资源,对服务器产生的压力小,处理速度快。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
本申请中的搜索方法,可应用于如图2所示的***架构中,该***包括客户端、参数处理服务器和搜索引擎服务器,其中,客户端用于向参数处理服务器发送搜索请求,输入搜索参数并选择参数处理服务器预先设定的搜索标签;参数处理服务器根据客户端选择的执行序列调用该执行序列对应的执行模块,获取执行模块对搜索参数的输出结果,当执行模块的输出结果满足执行序列对应的精确度要求时,将该执行模块的执行结果发送到搜索引擎服务器和客户端;搜索引擎服务器将来自参数处理服务器的执行结果作为搜索词,对搜索词进行搜索,获取搜索结果。
具体地,参数处理服务器包括纠错模块、重写模块,以及其他执行模块,上述各执行模块可以分别对搜索参数进行处理,分别获取输出结果,当该输出结果满足执行序列对应的精确度要求时,可以执行模块的执行结果作为搜索词返回给客户端,并发送到搜索引擎服务器。搜索引擎服务器包括解析模块、查询模块和合并模块,其中,解析模块用于对来自参数处理服务器的执行结果进行解析,获取搜索词;查询模块用于根据搜索词查询网站数据库,如网络爬虫结构,获取查询结果;合并模块用于对查询模块的查询结果进行合并处理,获取搜索结果。
需要说明的是,在本申请的具体实施方式中,上述***架构中的参数处理服务器和搜索引擎服务器可以分别独立部署,也可以将参数处理服务器和搜索引擎服务器合并为***中的同一个装置。上述参数处理服务器和搜索引擎服务器的部署方式,不影响本申请的保护范围。
以下结合上述应用场景,对本申请中的搜索方法进行详细、具体的描述。
如图3所示,为本申请实施例二中的一种搜索方法流程图,包括以下步骤:
步骤301,参数处理服务器获取客户端输入的搜索参数,根据预先配置的或者客户端选择的搜索标签确定处理搜索参数的执行序列。
步骤302,参数处理服务器按照执行序列依次调用该执行序列对应的执行模块,获取执行模块对搜索参数的输出结果。
步骤303,参数处理服务器判断执行模块的输出结果的精确度等级是否满足第一精确度要求。
如果判断结果为是,则执行步骤304;否则,结束流程。
步骤304,参数处理服务器判断满足第一精确度要求的执行模块之间是否互相冲突。
如果满足第一精确度要求的执行模块之间互相冲突,则执行模块305;否则,执行步骤306。
步骤305,参数处理服务器确定由互相冲突的执行模块中输出结果的精确度等级最高的执行模块处理搜索参数,在搜索计划中保留该执行模块,获取执行模块的执行结果。
步骤306,参数处理服务器使用搜索计划确定的执行模块处理搜索参数,获取该确定的执行模块的执行结果。
步骤307,参数处理服务器判断执行模块的执行结果的个数是否大于指定输出个数。
如果执行结果的个数大于指定输出个数,则执行步骤308;否则,执行步骤309。
步骤308,参数处理服务器将执行模块的执行结果中精确度等级最高的执行结果作为搜索词发送给搜索引擎服务器,并将执行结果返回客户端。
需要说明的是,执行完本步骤后,可以继续执行步骤310。
步骤309,参数处理服务器将所有执行结果作为搜索词发送给搜索引擎服务器,并将执行结果返回客户端。
具体地,可以为执行序列中的各个执行模块设置统一的接口,通过该接口为各个执行模块的执行结果设置统一的精确度等级。当保留的执行结果的个数大于指定输出个数时,则将各个执行结果按照精确度等级进行排序,选取指定个数的精确度等级高的执行结果作为搜索计划。
在具体的实现过程中,由于***中的执行模块的输出存在多个可能性,即对输入的关键词等条件有精确的匹配度。如果输入的关键词与模块中的词严格匹配,则该模块的输出精准度就高。由于各个模块的词典索引是独立的,不同模块的输出精准度之间没有相关性。由于各模块相互独立,在新增新的模块的时候不用改变以前的模块,可以对模块输出设置一个统一的接口,用于模块对输出的准确度进行设置。各模块对精确度算法不一样,结果不具有可比性,在接口中将输出结果统一到几个精确度等级,作为输出时统一选择的参考依据。
步骤310,搜索引擎服务器对搜索词进行搜索,获取搜索结果。
需要说明的是,本申请也可以通过各个模块独立搭建服务来实现,由客户端分别调用各自的服务可以将服务整合在一起。本申请提出的技术方案可以使用C++实现,在Linux***上运行能达到最佳的实施效果。
本申请包括以下优点,根据执行模块的执行结果的精确度对可能冲突的执行模块进行协调,能够更加快速准确地获取搜索参数背后的用户意图并将用户意图转换为搜索引擎能够理解的机器语言和执行策略,方便了对执行模块的管理,在不改变原有的执行模块的前提下,能够输出更优的搜索词。另外,对执行模块的调用采用独立的服务,不影响搜索引擎核心查询服务的稳定性,且执行模块可以进行分布部署,不与搜索引擎服务绑定,也不与搜索引擎竞争服务器资源,对服务器产生的压力小,处理速度快。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
本申请上述实施例提供了搜索方法和应用场景,相应地,本申请还通过以下实施例提供了应用上述方法的装置。
如图4所示,为本申请实施例三中的一种生成搜索计划的装置结构示意图,包括:
获取模块410,用于获取客户端输入的搜索参数,根据预先配置的或者所述客户端选择的搜索标签确定处理所述搜索参数的执行序列。
调用模块420,用于按照所述获取模块410确定的执行序列依次调用所述执行序列对应的执行模块,获取所述执行模块对所述搜索参数的输出结果,根据所述执行模块的输出结果的精确度等级生成搜索计划,所述搜索计划包括处理所述搜索参数的执行模块。
搜索模块430,用于使用所述调用模块420生成的搜索计划确定的执行模块处理所述搜索参数,获取所述确定的执行模块的执行结果,并按照所述执行结果进行搜索,获取搜索结果。
本申请包括以下优点,根据执行模块的执行结果的精确度对可能冲突的执行模块进行协调,能够更加快速准确地获取搜索参数背后的用户意图并将用户意图转换为搜索引擎能够理解的机器语言和执行策略,方便了对执行模块的管理,在不改变原有的执行模块的前提下,能够输出更优的搜索词。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
如图5所示,为本申请实施例四中的一种生成搜索计划的装置结构示意图,包括:
获取模块510,用于获取客户端输入的搜索参数,根据预先配置的或者所述客户端选择的搜索标签确定处理所述搜索参数的执行序列。
调用模块520,用于按照所述获取模块510确定的执行序列依次调用所述执行序列对应的执行模块,获取所述执行模块对所述搜索参数的输出结果,根据所述执行模块的输出结果的精确度等级生成搜索计划,所述搜索计划包括处理所述搜索参数的执行模块。
上述调用模块520,具体用于判断所述执行模块的输出结果的精确度等级是否满足第一精确度要求,如果满足,则确定由所述执行模块处理所述搜索参数。
上述调用模块520,还用于判断所述满足第一精确度要求的执行模块之间是否互相冲突,如果互相冲突,则由所述互相冲突的执行模块中输出结果的精确度等级最高的执行模块处理所述搜索参数。
上述调用模块520,具体用于判断所述满足第一精确度要求的执行模块中是否存在至少两个包含在预定义的冲突序列中的执行模块;如果存在,则判断所述满足第一精确度要求的执行模块之间互相冲突;如果不存在,则判断所述满足第一精确度要求的执行模块之间不互相冲突。
当上述执行模块的输出结果包括所述执行模块的执行结果时,上述调用模块520,还用于将所述执行模块的输出结果中的执行结果通知所述执行序列中的后续执行模块,使所述后续执行模块根据所述执行模块的执行结果生成输出结果。
搜索模块530,用于使用所述调用模块520生成的搜索计划确定的执行模块处理所述搜索参数,获取所述确定的执行模块的执行结果,并按照所述执行结果进行搜索,获取搜索结果。
上述执行模块的输出结果还包括所述执行模块的执行结果,上述搜索模块530,还用于在所述执行模块的输出结果满足第二精确度要求且所述搜索参数满足预设的复杂度要求时,按照所述执行模块的执行结果进行搜索,获取搜索结果。
设置模块540,用于为所述执行序列中的各个执行模块设置统一的接口,通过所述接口为所述各个执行模块的输出结果设置统一的精确度等级,供所述调用模块520使用。
本申请包括以下优点,根据执行模块的执行结果的精确度对可能冲突的执行模块进行协调,能够更加快速准确地获取搜索参数背后的用户意图并将用户意图转换为搜索引擎能够理解的机器语言和执行策略,方便了对执行模块的管理,在不改变原有的执行模块的前提下,能够输出更优的搜索词。当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本申请的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本申请的几个具体实施例,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (10)

1.一种搜索方法,其特征在于,包括以下步骤:
获取客户端输入的搜索参数,根据预先配置的或者所述客户端选择的搜索标签确定处理所述搜索参数的执行序列;
按照所述执行序列依次调用所述执行序列对应的执行模块,获取所述执行模块对所述搜索参数的输出结果,根据所述执行模块的输出结果的精确度等级生成搜索计划,所述搜索计划包括处理所述搜索参数的执行模块,其中,所述根据所述执行模块的输出结果的精确度等级生成搜索计划,具体包括:判断所述执行模块的输出结果的精确度等级是否满足第一精确度要求,如果满足,则判断所述满足第一精确度要求的执行模块之间是否互相冲突,如果互相冲突,则由所述互相冲突的执行模块中输出结果的精确度等级最高的执行模块处理所述搜索参数;
使用所述搜索计划确定的执行模块处理所述搜索参数,获取所述确定的执行模块的执行结果,并按照所述执行结果进行搜索,获取搜索结果。
2.如权利要求1所述的方法,其特征在于,所述判断满足精确度要求的执行模块之间是否互相冲突,具体包括:
判断所述满足第一精确度要求的执行模块中是否存在至少两个包含在预定义的冲突序列中的执行模块;
如果存在,则判断所述满足第一精确度要求的执行模块之间互相冲突;如果不存在,则判断所述满足第一精确度要求的执行模块之间不互相冲突。
3.如权利要求1所述的方法,其特征在于,所述执行模块的输出结果还包括所述执行模块的执行结果,
当所述执行模块的输出结果满足第二精确度要求且所述搜索参数满足预设的复杂度要求时,按照所述执行模块的执行结果进行搜索,获取搜索结果。
4.如权利要求1所述的方法,其特征在于,所述执行模块的输出结果包括所述执行模块的执行结果时,
所述获取执行模块对所述搜索参数的输出结果之后,还包括:
将所述执行模块的输出结果中的执行结果通知所述执行序列中的后续执行模块,使所述后续执行模块根据所述执行模块的执行结果生成输出结果。
5.如权利要求1所述的方法,其特征在于,还包括:
为所述执行序列中的各个执行模块设置统一的接口,通过所述接口为所述各个执行模块的输出结果设置统一的精确度等级。
6.一种搜索装置,其特征在于,包括:
获取模块,用于获取客户端输入的搜索参数,根据预先配置的或者所述客户端选择的搜索标签确定处理所述搜索参数的执行序列;
调用模块,用于按照所述获取模块确定的执行序列依次调用所述执行序列对应的执行模块,获取所述执行模块对所述搜索参数的输出结果,根据所述执行模块的输出结果的精确度等级生成搜索计划,所述搜索计划包括处理所述搜索参数的执行模块;具体用于判断所述执行模块的输出结果的精确度等级是否满足第一精确度要求,如果满足,则判断所述满足第一精确度要求的执行模块之间是否互相冲突,如果互相冲突,则由所述互相冲突的执行模块中输出结果的精确度等级最高的执行模块处理所述搜索参数;
搜索模块,用于使用所述调用模块生成的搜索计划确定的执行模块处理所述搜索参数,获取所述确定的执行模块的执行结果,并按照所述执行结果进行搜索,获取搜索结果。
7.如权利要求6所述的装置,其特征在于,
所述调用模块,具体用于判断所述满足第一精确度要求的执行模块中是否存在至少两个包含在预定义的冲突序列中的执行模块;如果存在,则判断所述满足第一精确度要求的执行模块之间互相冲突;如果不存在,则判断所述满足第一精确度要求的执行模块之间不互相冲突。
8.如权利要求6所述的装置,其特征在于,所述执行模块的输出结果还包括所述执行模块的执行结果,
所述搜索模块,还用于在所述执行模块的输出结果满足第二精确度要求且所述搜索参数满足预设的复杂度要求时,按照所述执行模块的执行结果进行搜索,获取搜索结果。
9.如权利要求6所述的装置,其特征在于,所述执行模块的输出结果包括所述执行模块的执行结果时,
所述调用模块,还用于将所述执行模块的输出结果中的执行结果通知所述执行序列中的后续执行模块,使所述后续执行模块根据所述执行模块的执行结果生成输出结果。
10.如权利要求6所述的装置,其特征在于,还包括:
设置模块,用于为所述执行序列中的各个执行模块设置统一的接口,通过所述接口为所述各个执行模块的输出结果设置统一的精确度等级,供所述调用模块使用。
CN201010103540.4A 2010-02-01 2010-02-01 一种搜索方法和装置 Active CN102141990B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201010103540.4A CN102141990B (zh) 2010-02-01 2010-02-01 一种搜索方法和装置
US13/014,409 US8498975B2 (en) 2010-02-01 2011-01-26 Search query processing
PCT/US2011/000169 WO2011094020A1 (en) 2010-02-01 2011-01-27 Search query processing
EP11737411.6A EP2531908B1 (en) 2010-02-01 2011-01-27 Search query processing
JP2012551177A JP5481570B2 (ja) 2010-02-01 2011-01-27 検索クエリ処理
HK11113975.9A HK1159787A1 (en) 2010-02-01 2011-12-28 A searching method and device
US13/925,698 US9069859B2 (en) 2010-02-01 2013-06-24 Search query processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010103540.4A CN102141990B (zh) 2010-02-01 2010-02-01 一种搜索方法和装置

Publications (2)

Publication Number Publication Date
CN102141990A CN102141990A (zh) 2011-08-03
CN102141990B true CN102141990B (zh) 2014-02-26

Family

ID=44342516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010103540.4A Active CN102141990B (zh) 2010-02-01 2010-02-01 一种搜索方法和装置

Country Status (6)

Country Link
US (2) US8498975B2 (zh)
EP (1) EP2531908B1 (zh)
JP (1) JP5481570B2 (zh)
CN (1) CN102141990B (zh)
HK (1) HK1159787A1 (zh)
WO (1) WO2011094020A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749190A (zh) * 2019-10-31 2021-05-04 ***通信集团重庆有限公司 数据查询方法、装置、计算设备及计算机存储介质

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131837A1 (en) 2003-12-15 2005-06-16 Sanctis Jeanne D. Method, system and program product for communicating e-commerce content over-the-air to mobile devices
US9177171B2 (en) * 2012-03-11 2015-11-03 International Business Machines Corporation Access control for entity search
CN104205862B (zh) * 2012-03-31 2019-01-22 英特尔公司 动态搜索服务
US11676192B1 (en) 2013-03-15 2023-06-13 Overstock.Com, Inc. Localized sort of ranked product recommendations based on predicted user intent
US10810654B1 (en) 2013-05-06 2020-10-20 Overstock.Com, Inc. System and method of mapping product attributes between different schemas
US9330167B1 (en) 2013-05-13 2016-05-03 Groupon, Inc. Method, apparatus, and computer program product for classification and tagging of textual data
US20140358882A1 (en) * 2013-05-28 2014-12-04 Broadcom Corporation Device content used to bias a search infrastructure
US10083009B2 (en) * 2013-06-20 2018-09-25 Viv Labs, Inc. Dynamically evolving cognitive architecture system planning
US9594542B2 (en) 2013-06-20 2017-03-14 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on training by third-party developers
US10474961B2 (en) 2013-06-20 2019-11-12 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on prompting for additional user input
US9633317B2 (en) 2013-06-20 2017-04-25 Viv Labs, Inc. Dynamically evolving cognitive architecture system based on a natural language intent interpreter
US10929890B2 (en) 2013-08-15 2021-02-23 Overstock.Com, Inc. System and method of personalizing online marketing campaigns
US10872350B1 (en) 2013-12-06 2020-12-22 Overstock.Com, Inc. System and method for optimizing online marketing based upon relative advertisement placement
CN103729471B (zh) * 2014-01-21 2017-03-08 华为软件技术有限公司 数据库查询方法和装置
US9753967B2 (en) * 2014-03-31 2017-09-05 Samsung Electronics Co., Ltd. Computing system with error detection mechanism and method of operation thereof
US9965547B2 (en) * 2014-05-09 2018-05-08 Camelot Uk Bidco Limited System and methods for automating trademark and service mark searches
WO2016137114A1 (ko) * 2015-02-23 2016-09-01 건국대학교 산학협력단 메타 지식 데이터베이스를 구축하고 쿼리를 처리하는 방법 및 장치
US10534845B2 (en) 2016-05-11 2020-01-14 Overstock.Com, Inc. System and method for optimizing electronic document layouts
CN106844720A (zh) * 2017-02-09 2017-06-13 郑州云海信息技术有限公司 一种搜索数据处理的方法以及装置
US10970769B2 (en) * 2017-03-02 2021-04-06 Overstock.Com, Inc. Method and system for optimizing website searching with user pathing
US11205179B1 (en) * 2019-04-26 2021-12-21 Overstock.Com, Inc. System, method, and program product for recognizing and rejecting fraudulent purchase attempts in e-commerce
US11734368B1 (en) 2019-09-26 2023-08-22 Overstock.Com, Inc. System and method for creating a consistent personalized web experience across multiple platforms and channels
US20220350849A1 (en) * 2021-04-30 2022-11-03 Elasticsearch B.V. Controlling Precision of Searches
US20220414168A1 (en) * 2021-06-24 2022-12-29 Kyndryl, Inc. Semantics based search result optimization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101176058A (zh) * 2005-03-29 2008-05-07 谷歌公司 使用已知高级查询的查询修订
US7472113B1 (en) * 2004-01-26 2008-12-30 Microsoft Corporation Query preprocessing and pipelining
US7519590B2 (en) * 2000-06-28 2009-04-14 Microsoft Corporation Method and system for performing phrase/word clustering and cluster merging
US7630978B2 (en) * 2006-12-14 2009-12-08 Yahoo! Inc. Query rewriting with spell correction suggestions using a generated set of query features

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381598B1 (en) 1998-12-22 2002-04-30 Xerox Corporation System for providing cross-lingual information retrieval
US20030217052A1 (en) * 2000-08-24 2003-11-20 Celebros Ltd. Search engine method and apparatus
US6654734B1 (en) * 2000-08-30 2003-11-25 International Business Machines Corporation System and method for query processing and optimization for XML repositories
EP1300773A1 (en) * 2001-10-02 2003-04-09 Sun Microsystems, Inc. Information service using a thesaurus
JP2004133812A (ja) * 2002-10-11 2004-04-30 Ricoh Co Ltd 画像検索プログラムおよび画像検索装置
US7617205B2 (en) * 2005-03-30 2009-11-10 Google Inc. Estimating confidence for query revision models
US7447678B2 (en) * 2003-12-31 2008-11-04 Google Inc. Interface for a universal search engine
US7870147B2 (en) * 2005-03-29 2011-01-11 Google Inc. Query revision using known highly-ranked queries
US7933900B2 (en) * 2005-10-23 2011-04-26 Google Inc. Search over structured data
US20080250010A1 (en) * 2007-04-05 2008-10-09 Samsung Electronics Co., Ltd. Method and system for determining and pre-processing potential user queries related to content in a network
US7630972B2 (en) * 2007-01-05 2009-12-08 Yahoo! Inc. Clustered search processing
US7827172B2 (en) * 2007-03-14 2010-11-02 Yahoo! Inc. “Query-log match” relevance features
US7873640B2 (en) * 2007-03-27 2011-01-18 Adobe Systems Incorporated Semantic analysis documents to rank terms
US8122016B1 (en) * 2007-04-24 2012-02-21 Wal-Mart Stores, Inc. Determining concepts associated with a query
US8065283B2 (en) * 2008-01-24 2011-11-22 Globalspec, Inc. Term synonym generation
US8315849B1 (en) * 2010-04-09 2012-11-20 Wal-Mart Stores, Inc. Selecting terms in a document

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519590B2 (en) * 2000-06-28 2009-04-14 Microsoft Corporation Method and system for performing phrase/word clustering and cluster merging
US7472113B1 (en) * 2004-01-26 2008-12-30 Microsoft Corporation Query preprocessing and pipelining
CN101176058A (zh) * 2005-03-29 2008-05-07 谷歌公司 使用已知高级查询的查询修订
US7630978B2 (en) * 2006-12-14 2009-12-08 Yahoo! Inc. Query rewriting with spell correction suggestions using a generated set of query features

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112749190A (zh) * 2019-10-31 2021-05-04 ***通信集团重庆有限公司 数据查询方法、装置、计算设备及计算机存储介质
CN112749190B (zh) * 2019-10-31 2023-04-11 ***通信集团重庆有限公司 数据查询方法、装置、计算设备及计算机存储介质

Also Published As

Publication number Publication date
WO2011094020A1 (en) 2011-08-04
US20130346383A1 (en) 2013-12-26
US9069859B2 (en) 2015-06-30
US20110191319A1 (en) 2011-08-04
JP5481570B2 (ja) 2014-04-23
HK1159787A1 (en) 2012-08-03
JP2013519134A (ja) 2013-05-23
EP2531908A4 (en) 2016-10-05
EP2531908A1 (en) 2012-12-12
US8498975B2 (en) 2013-07-30
EP2531908B1 (en) 2019-08-21
CN102141990A (zh) 2011-08-03

Similar Documents

Publication Publication Date Title
CN102141990B (zh) 一种搜索方法和装置
US9223777B2 (en) Self-learning semantic search engine
EP3514694B1 (en) Query translation
US8527451B2 (en) Business semantic network build
CN105550268B (zh) 大数据流程建模分析引擎
CN107341215A (zh) 一种基于分布式计算平台的多源垂直知识图谱分类集成查询方法
CN104636478A (zh) 信息查询方法和设备
US8725760B2 (en) Semantic terminology importer
Chhun et al. QoS ontology for service selection and reuse
CN112115232A (zh) 一种数据纠错方法、装置及服务器
CN109840254A (zh) 一种数据虚拟化及查询方法、装置
CN112287114A (zh) 一种知识图谱服务处理方法和装置
KR101637504B1 (ko) 비정형 데이터 처리 시스템 및 방법
US20160299972A1 (en) Providing app store search results
CN114860916A (zh) 知识检索方法及装置
EP3113039A1 (en) Job search engine
Abu-Rasheed et al. Explainable Graph-Based Search for Lessons-Learned Documents in the Semiconductor Industry
US20100324888A1 (en) Solving constraint satisfaction problems for user interface and search engine
TWI507897B (zh) Search methods and devices
CN104040537A (zh) 数据库查询的自动生成和执行的***及方法
Pham et al. Semantic data model for product support systems
Grawunder et al. The dynaquest-framework for dynamic and adaptive source selection
Gernhardt et al. Implementation of a knowledge-based production planning including a direct manipulative process editor and a mediator architecture
Tao Ontology-based active repository system
KR101466182B1 (ko) 인터넷 검색 방법 및 검색 시스템

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: 1159787

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1159787

Country of ref document: HK