一种搜索方法和装置制造方法及图纸

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

【技术实现步骤摘要】

本申请涉及网络
,特别是涉及一种搜索方法和装置
技术介绍
随着电脑技术和网络技术的高速发展,以及近年来国内互联网环境的改善,网际 网络逐渐成为一种获取信息的重要管道,而网上信息也得到了爆炸性的增长。搜索技术的 出现为网络用户快速找到所需信息提供了便捷的手段,传统的搜索方法主要使用三种类型 的搜索引擎,即机器人搜索引擎(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模块扩展,又会增加依赖性和维护的难度。
技术实现思路
本申请提供了一种搜索方法和装置,能够更快地获取搜索词,方便了对执行模块的管理。本申请提出一种搜索方法,包括以下步骤获取客户端输入的搜索参数,根据预先配置的或者所述客户端选择的搜索标签确 定处理所述搜索参数的执行序列;按照所述执行序列依次调用所述执行序列对应的执行模块,获取所述执行模块对 所述搜索参数的输出结果,根据所述执行模块的输出结果的精确度等级生成搜索计划,所 述搜索计划包括处理所述搜索参数的执行模块;使用所述搜索计划确定的执行模块处理所述搜索参数,获取所述确定的执行模块 的执行结果,并按照所述执行结果进行搜索,获取搜索结果。优选地,所述根据所述执行模块的输出结果的精确度等级生成搜索计划,具体包 括判断所述执行模块的输出结果的精确度等级是否满足第一精确度要求,如果满 足,则确定由所述执行模块处理所述搜索参数。优选地,所述判断执行模块的输出结果的精确度等级满足精确度要求之后,还包 括判断所述满足第一精确度要求的执行模块之间是否互相冲突,如果互相冲突,则 由所述互相冲突的执行模块中输出结果的精确度等级最高的执行模块处理所述搜索参数。优选地,所述判断满足精确度要求的执行模块之间是否互相冲突,具体包括判断所述满足第一精确度要求的执行模块中是否存在至少两个包含在预定义的 冲突序列中的执行模块;如果存在,则判断所述满足第一精确度要求的执行模块之间互相冲突;如果不存 在,则判断所述满足第一精确度要求的执行模块之间不互相冲突。优选地,所述执行模块的输出结果还包括所述执行模块的执行结果,当所述执行模块的输出结果满足第二精确度要求且所述搜索参数满足预设的复 杂度要求时,按照所述执行模块的执行结果进行搜索,获取搜索结果。优选地,所述执行模块的输出结果包括所述执行模块的执行结果时,所述获取执行模块对所述搜索参数的输出结果之后,还包括将所述执行模块的输出结果中的执行结果通知所述执行序列中的后续执行模块, 使所述后续执行模块根据所述执行模块的执行结果生成输出结果。优选地,所述的方法,还包括为所述执行序列中的各个执行模块设置统一的接口,通过所述接口为所述各个执 行模块的输出结果设置统一的精确度等级。本申请还提出一种搜索装置,包括获取模块,用于获取客户端输入的搜索参数,根据预先配置的或者所述客户端选 择的搜索标签确定处理所述搜索参数的执行序列;5调用模块,用于按照所述获取模块确定的执行序列依次调用所述执行序列对应的 执行模块,获取所述执行模块对所述搜索参数的输出结果,根据所述执行模块的输出结果 的精确度等级生成搜索计划,所述搜索计划包括处理所述搜索参数的执行模块;搜索模块,用于使用所述调用模块生成的搜索计划确定的执行模块处理所述搜索 参数,获取所述确定的执行模块的执行结果,并按照所述执行结果进行搜索,获取搜索结^ ο优选地,所述调用模块,具体用于判断所述执行模块的输出结果的精确度等级是 否满足第一精确度要求,如果满足,则确定由所述执行模块处理所述搜索参数。优选地,所述调用模块,还用于判断所述满足第一精确度要求的执行模块之间是 否互相冲突,如果互相冲突,则由所述互相冲突的执行模块中输出结果的精确度等级最高 的执行模块处理所述搜索参数。优选地,所述调用模块,具体用于判断所述满足第一精确度要求的执行模块中是 否存在至少两个包含在预定义的冲突序列中的执行模块;如果存在,则判断所述满足第一 精确度要求的执行模块之间互相冲突;如果不存在,则判断所述满足第一精确度要求的执 行模块之间不互相冲突。优选地,所述执行模块的输出结果还包括所述执行模块的执行结果,所述搜索模块,还用于在所述执行模块的输出结果满足第二精确度要求且所述搜 索参数满足预设的复杂度要求时,按照所述执行模块的执行结果进行搜索,获取搜索结果。优选地,所述执行模块的输出结果包括所述执行模块的执行结果时,所述调用模块,还用于将所述执行模块的输出结果中的执行结果通知所述执行序 列中的后续执行模块,使所述后续执行模块根据所述执行模块的执行结果生本文档来自技高网
...

【技术保护点】
1.一种搜索方法,其特征在于,包括以下步骤:获取客户端输入的搜索参数,根据预先配置的或者所述客户端选择的搜索标签确定处理所述搜索参数的执行序列;按照所述执行序列依次调用所述执行序列对应的执行模块,获取所述执行模块对所述搜索参数的输出结果,根据所述执行模块的输出结果的精确度等级生成搜索计划,所述搜索计划包括处理所述搜索参数的执行模块;使用所述搜索计划确定的执行模块处理所述搜索参数,获取所述确定的执行模块的执行结果,并按照所述执行结果进行搜索,获取搜索结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:聂绪平肖和何维钟敬辉
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:KY[开曼群岛]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1