[发明专利]基于逆波兰和多叉树的搜索引擎查询语句解析方法有效
申请号: | 201310399206.1 | 申请日: | 2013-09-05 |
公开(公告)号: | CN103440331B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 刘凯 | 申请(专利权)人: | 五八同城信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京律恒立业知识产权代理事务所(特殊普通合伙)11416 | 代理人: | 顾珊,陈轶兰 |
地址: | 300457 天津市滨海新区第一*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种基于逆波兰和多叉树的搜索引擎查询语句解析方法,其特征在于,包括如下步骤a)将查询语句转化为逆波兰表达式;b)遍历所述逆波兰表达式,生成多叉树;c)遍历所述多叉树;d)输出遍历后的查询结果。根据本发明的基于逆波兰和多叉树的搜索引擎查询语句解析方法,能够优化查询操作,能够减小时间复杂度,从而降低响应延迟。 | ||
搜索关键词: | 基于 波兰 多叉树 搜索引擎 查询 语句 解析 方法 | ||
【主权项】:
一种基于逆波兰和多叉树的搜索引擎查询语句解析方法,其特征在于,包括如下步骤:a)将查询语句转化为逆波兰表达式;b)遍历所述逆波兰表达式,生成多叉树,搜索引擎保存与所述多叉树的每个叶子节点中的查询词对应的一个文档列表:b1按从左到右的顺序遍历逆波兰表达式的一个元素;b2判断是否完成对逆波兰式的遍历,是则遍历过程结束,此时生成的多叉树即为所述多叉树;否则,提取当前遍历到的一个元素,进入步骤b3;b3判断所提取的元素是否为查询词,是则将该查询词入栈,返回步骤b1,否则所提取的元素为操作符,并将栈顶元素出栈,进入步骤b4;b4将所述操作符作为临时多叉树的根节点,并将出栈元素作为叶子节点进行组合,形成临时多叉树;b5将生成的临时多叉树的根节点及其叶子节点重新入栈,返回步骤b1;c)遍历所述多叉树:c1将所述多叉树的根节点的所有子节点构成小根堆;c2提取所述根堆的堆顶节点的元素,所述元素是对应节点的查询词对应的文档编号列表,每个查询对应的文档编号按从小到大的顺序排列,更新查询结果;c3将所述堆定节点出堆,判断所述出堆节点的元素是否为空,是则进入步骤c4,否则将所述出堆节点重新入堆并调整,返回步骤c2;c4判断所述跟堆中的节点是否为空,是则结束遍历,否则返回步骤c2;d)输出遍历后的查询结果。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八同城信息技术有限公司,未经五八同城信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310399206.1/,转载请声明来源钻瓜专利网。