一种垂直搜索引擎中的查询表达式制造技术

技术编号:8862392 阅读:186 留言:0更新日期:2013-06-28 01:35
本发明专利技术垂直搜索引擎中的查询表达式,其方法包括:用户在UI中根据操作按钮完成表达式的建立,表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户,表达式设计器会将用户的输入将表达式转换成后缀(前缀)传递到后台服务,后台服务获得这个后缀(前缀)表达式后根据解析表达式还原为查询描述符,后台根据对象描述提供ToQuery方法,将查询描述符转换成搜索引擎可识别的查询,根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。

【技术实现步骤摘要】

本专利技术涉及互联网搜索引擎技术,尤其是一种垂直搜索引擎中的查询表达式
技术介绍
随着互联网技术的不断发展和应用,网络信息已经进入千家万户。然而在互联网络上,信息爆炸式地增加与传递,在数以亿万计的信息中,用户获得符合自己使用目的的可用信息的难度也大大增加。伴随着用户的需要,搜索引擎技术发展起来,主要有通用搜索引擎和垂直搜索引擎两种。通用搜索引擎将大量的信息整合导航,极快的速度,将所有网站上的信息整理在一个平台上供用户使用。但是它存在着信息量大、查询不准确、深度不够等问题。垂直搜索是针对某一个行业提出来的新的搜索引擎服务模式,通过针对某一特定领域、某一特定人群或某一特定需求提供的有一定价值的信息和相关服务。其特点就是“专、精、深”,且具有行业色彩,相比较通用搜索引擎的海量信息无序化,垂直搜索引擎则显得更加专注、具体和深入。在垂直搜索领域中,用户需要的是精准的数据,可能需要复杂的逻辑关系才能从海量数据中获得有价值的信息,查询条件就是连接用户与垂直搜索引擎的中介。但是,让普通用户手工书写查询条件是不可能的,必须是具有专业素质的人才能写出来。因此,互联网供应商提供了一种工具一查询表达式。查询表达式是为了突出查询信息专、精、深而使用的一种查询条件构建工具,能够为用户提供良好的输入界面并且协助用户完成复杂查询条件的创建,并将易读的查询表达式转换成后台搜索引擎可识别的查询语句。现有技术中的查询表达式,用中缀表达式描述逻辑关系,使用括号来区别优先级、以及查询集合与查询子集之间的逻辑关系,这种关系最终转换成为无括号描述的有自身描述优先级关系的后缀表达式。中缀表达式的树状组织,将中缀表达式进行树状展现,并提供用户来增加或者删除树中的各个节点以描述逻辑关系和集合关系。目前,通用的查询设计器主要有google的高级查询设计器和baidu的高级查询设计器。其方法为:提供四个输入框,分别为包含以下全部关键字、包含以下完整关键字、包含以下任意关键字、不包含以下关键字。四个条件组合逻辑关系不清楚,而且查询条件组合简单,无法满足更复杂的查询条件设计。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种垂直搜索查询表达式设计器,可以帮助用户构建清晰逻辑关系的查询条件,而且操作简单、方便。垂直搜索引擎不同于现在市面上大多数的水平搜索引擎,垂直搜索引擎的关注点在数据的精确性上,水平搜索引擎则将重点放在数据的全面性。由于用户对表达式的具体形态和内容并不关心,作为垂直搜索引擎的开发人员,需要提供一种不同于水平搜索引擎的查询表达式设计器,使用户不需要学习复杂的查询语法就能设计出符合需求的查询条件。为达到上述目的,本专利技术采用树形表达式设计器,其思路来源于中缀表达式的数据结构,操作符作为节点,条件作为叶子节点来展示整个表达式的逻辑关系,又因为是树状展示,逻辑关系一目了然。当用户在树形表达式设计器上设计好逻辑关系后,表达式设计器会将这棵树的逻辑关系表示成一个中缀表达式提供给用户阅读,并且转换成后缀表达式(或者前缀表达式)提供给后台存储,后台会解析后缀表达式(或者前缀表达式)来还原用户的逻辑关系,并将这个逻辑关系转换成搜索引擎可以识别的查询语句。表达式优先级括号在树型表达式设计器上会根据用户添加条件和子条件来自动为用户添加括号,方便用户识别子条件,以及子条件和条件之间的关系。由于从数据结构上来说是递归描述的,那么在展现时,理论上条件的长度和组合复杂度是没有限制的。用户可以组合出来非常复杂的逻辑关系,而不必关心这些关系最终生成了什么样的搜索引擎查询条件。本专利技术的技术方案是这样实现的:A、用户在UI中根据操作按钮完成表达式的建立;B、表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户;C、表达式设计器会将用户的输入将表达式转换成后缀(前缀)传递到后台服务;D、后台服务获得这个后缀(前缀)表达式后根据解析表达式还原为查询描述符;E、后台根据对象描述提供T0Query方法,将查询描述符转换成搜索引擎可识别的查询;F、根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。进一步地,步骤A中所述细化为:Al空表达式,表达式设计器在未输入任何内容时,只显示一个逻辑关系选择框和两个添加条件的按钮(条件/子条件);A2用户可以通过点击添加条件按钮来为表达式添加一个条件,条件key为搜索引擎元数据中定义的可用来查询的作用域,条件逻辑关系则为定义为抽象运算关系(operation),抽象逻辑运算关系(接口)由具体的实现完成,目前该技术在XunKu产品中使用的是逻辑关系(等于/不等于/包含/不包含),目前该技术在Xunku后台的信息源管理中也有应用,在后台应用中抽象逻辑关系实现为(等于/正则验证/包含/结尾为)条件值则为用户关心的数据;A3添加完成一个条件之后,用户可以添加新的条件,并且选择两个条件之间的关系(或者/与),同时为了满足深度搜索的要求,该技术提供子表达式,即表达式的嵌套,子表达式逻辑上和表达式是一样的,只是在关系上不同。进一步地,步骤B,表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户。进一步地,步骤B中所述细化为:BI首先前台(目前Xunku用js已经实现的表达式转义),将查询表达式描述的查询,按照表达式控件所描述的关系序列化成字符串;B2该字符串将由网络传送回服务器,目前Xunku使用的是js提交数据的形式来将较长的字符串发回服务器;B3为了减少网络流量表达式字符串在客户观被压缩,移除表达式中不需要的字符(便于阅读的字符),同时将表达式转换成前缀表达式以去掉括号占用的字符,此字符串准备发回服务器;B4同时为了让用户看得更清楚,查询表达式会将用户的输入转换成一个中缀表达式,并且将唯一标示替换为用户可阅读的字符串呈现给用户,字符串类似于“标题中包含昆山并且内容中包括讯库”。进一步地,步骤C,表达式设计器会将用户输入的表达式转换成后缀(前缀)传递到后台服务;步骤D,后台服务获得这个后缀(前缀)表达式后,根据解析表达式还原为查询描述符。进一步地,步骤E,后台根据对象描述提供ToQuery方法,将查询描述符转换成搜索引擎可识别的查询:El查询描述符解释器将查询描述符解释成搜索引擎可识别的查询字符串;E2查询表达式到此工作结束。进一步地,步骤F,根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。表达式优先级括号在树型表达式设计器上会根据用户添加条件和子条件来自动为用户添加括号,方便用户识别子条件,以及子条件和条件之间的关系。由于从数据结构上来说是递归描述的,那么在展现时,理论上条件的长度和组合复杂度是没有限制的。用户可以组合出来非常复杂的逻辑关系,而不必关心这些关系最终生成了什么样的搜索引擎查询条件。具体实施例方式本专利技术采用树形表达式设计器,其思路来源于中缀表达式的数据结构,操作符作为节点,条件作为叶子节点来展示整个表达式的逻辑关系,又因为是树状展示,逻辑关系一目了然。当用户在树形表达式设计器上设计好逻辑关系后,表达式设计器会将这棵树的逻辑关系表示成一个中缀表达式提供给用户阅读,并且转换成后缀表达式(或者前缀表达式)提供给后台存储,后台会解析后缀表达式(或者前缀表达式)来还原用户的逻辑关系,并将这个逻辑本文档来自技高网
...

【技术保护点】
一种垂直搜索查询表达式,其特征在于,该方法包括以下步骤:A、用户在UI中根据操作按钮完成表达式的建立;B、表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户;C、表达式设计器会将用户的输入将表达式转换成后缀(前缀)传递到后台服务;D、后台服务获得这个后缀(前缀)表达式后根据解析表达式还原为查询描述符;E、后台根据对象描述提供ToQuery方法,将查询描述符转换成搜索引擎可识别的查询;F、根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。

【技术特征摘要】
1.一种垂直搜索查询表达式,其特征在于,该方法包括以下步骤: A、用户在Π中根据操作按钮完成表达式的建立; B、表达式设计器会根据用户的输入将表达式转换成中缀描述展现给用户; C、表达式设计器会将用户的输入将表达式转换成后缀(前缀)传递到后台服务; D、后台服务获得这个后缀(前缀)表达式后根据解析表达式还原为查询描述符; E、后台根据对象描述提供ToQuery方法,将查询描述符转换成搜索引擎可识别的查询; F、根据需要这个可识别的查询可能需要持久化或者直接传递给搜索引擎进行搜索。2.根据权利要求1所述的方法,其特征在于,所述表达式设计器采用树形表达式设计器,以操作符作为节点,条件作为叶子节点来展示整个表达式的逻辑关系。3.根据权利要求2所述的方法,其特征在于,条件key为搜索引擎元数据中定义的可用来查询的作用域,条件逻辑关系则定义为抽象运算关系(operation),抽象逻辑...

【专利技术属性】
技术研发人员:吴剑
申请(专利权)人:昆山麦克斯泰科技有限公司
类型:发明
国别省市:

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

1