查询语句的生成方法及相关设备技术

技术编号:21629620 阅读:23 留言:0更新日期:2019-07-17 11:18
本发明专利技术公开了一种查询语句的生成方法及相关设备,其中,所述查询语句的生成方法中,由于接收的是采用中间语言编写的第一查询语句,对第一查询语句的输入用户的技术性要求不高,可以保证一般的用户均可以输入查询语句,且可以将用户输入的查询语句,转换得到原生语言的查询语句,还可以保证以原生语言的查询语句执行查询操作,完成ElasticSearch数据库的查询操作。

Generation Method of Query Statement and Related Equipment

【技术实现步骤摘要】
查询语句的生成方法及相关设备
本专利技术涉及计算机软件
,尤其涉及一种查询语句的生成方法及相关设备。
技术介绍
ElasticSearch是一个基于Lucene的搜索服务器,在对其进行查询搜索时,需要用户输入计算机容易理解的Json格式的查询语句。由于该格式的查询语句内容复杂,对用户的专业性要求较高。为此,开发者会针对一些查询逻辑定义好一种固定的查询方式,在需要用户输入查询语句时,用户选择查询方式并输入具体的查询参数。但是,由于查询语句可能涉及的查询逻辑是多种多样的,开发者无法针对每一种查询逻辑均定义好查询方式,并且,一般仅能对较为简单的查询逻辑定义查询方式,对于较为复杂的查询逻辑,无法为其对应的查询方式,因此,在此种情况下,就还需要用户输入Json格式的查询语句,若用户的专业性不够,则会导致无法进行查询。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的查询语句的生成方法及相关设备。一种查询语句的生成方法,包括:接收由中间语言编写的第一查询语句,其中,所述中间语言符合自然语言的语法规律;根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句,得到采用原生语言编写的第二查询语句。可选地,所述第一查询语句包括查询条件。可选地,所述查询条件包括查询方式和查询内容,且所述查询方式和所述查询内容组成符合自然语言的语法规律的表达式。可选地,若所述第一查询语句包含一个所述查询条件,则所述根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句,得到采用原生语言编写的第二查询语句,包括:根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句中的查询条件,得到原生语言的查询条件;依据所述原生语言的查询条件,生成所述第二查询语句。可选地,若所述第一查询语句包含多个所述查询条件,则所述第一查询语句还包括:用于表征所述多个查询条件的关系的运算符;以及所述根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句,得到采用原生语言编写的第二查询语句,包括:以所述运算符为分界点拆分所述第一查询语句,得到所述多个查询条件;将得到的所述多个查询条件和对应的运算符,组成第一表达式树;根据预先建立的中间语言与原生语言间的对应关系转换所述第一表达式树中的查询条件和运算符,得到原生语言的查询条件和原生语言的运算符;依据所述第一表达式树中的层级关系,拼接所述原生语言的查询条件和所述原生语言的运算符,得到所述第二查询语句。可选地,若所述第一查询语句中还包括调整所述多个查询条件的执行顺序的优先级符号,则将得到的所述多个查询条件和对应的运算符,组成第一表达式树,包括:依据所述优先级符号的要求,组合所述多个查询条件和对应的运算符,得到第一表达式树。一种查询语句的生成装置,包括:接收单元,用于接收由中间语言编写的第一查询语句,其中,所述中间语言符合自然语言的语法规律;转换单元,用于根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句,得到采用原生语言编写的第二查询语句。可选地,所述第一查询语句包括查询条件;其中,所述查询条件包括查询方式和查询内容,且所述查询方式和所述查询内容组成符合自然语言的语法规律的表达式。一种存储介质,用于存储程序,所述程序被执行时,用于实现如上述任意一项所述查询语句的生成方法。一种处理器,用于运行程序,其中,所述程序被运行时用于执行:如上述任意一项所述的查询语句的生成方法。借由上述技术方案,本专利技术提供的查询语句的生成方法中,由于接收的是采用中间语言编写的第一查询语句,对第一查询语句的输入用户的技术性要求不高,可以保证一般的用户均可以输入查询语句,且可以将用户输入的查询语句,转换得到原生语言的查询语句,还可以保证以原生语言的查询语句执行查询操作,完成ElasticSearch数据库的查询操作。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例公开的查询语句的生成方法的流程图;图2示出了本专利技术另一实施例公开的查询语句的生成方法的流程图;图3示出了本专利技术实施例公开的实例中第一表达式树的展示图;图4示出了本专利技术另一实施例公开的查询语句的生成装置的结构示意图;图5示出了本专利技术另一实施例公开的查询语句的生成装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本专利技术实施例公开的查询语句的生成方法,参见图1,包括步骤:S101、接收采用中间语言编写的第一查询语句。其中,所述中间语言为非技术人员使用的易读的语言,其符合自然语言的语法规律,满足人类语言的语法要求。具体的,用户需要在ElasticSearch数据库中执行查询操作,则会输入该查询操作对应的查询语句,且考虑到非技术人员的技术局限性,输入的查询语句的所使用的语言的格式并不是常规的、复杂的Json格式,而是对技术性要求比较低的语言。并且,要在ElasticSearch数据库中执行查询操作时,会不断接收查询语句,当用户完成查询语句的输入操作后,能够保证接收到该查询语句。可选地,本专利技术的另一实施例公开的步骤S101的具体实施方式中,该步骤包括:接收第一查询语句,所述第一查询语句包括查询条件。可选地,所述查询条件包括:查询方式和查询内容,且所述查询方式和所述查询内容组成符合自然语言的语法规律的表达式。需要说明的是,由所述查询方式和所述查询内容组成的符合自然语言的语法规律的表达式中,仅包括执行查询操作的有效内容,即对查询操作中能利用上的内容,不包括诸如{}之类的对查询操作无用的内容。还需要说明的是,所述查询条件可分为字段名、查询方式、查询参数三部分,其中,字段名和查询参数即为查询内容。具体的,查询条件的格式可以为:"字段名:查询方式:查询参数",即一个查询条件的三个部分位于一个双引号内,且一个查询条件的不同部分均以英文冒号分隔。并且,若某一部分分为多个内容,可以采用逗号隔开不同的内容,例如:"title:term:word1,word2",该查询条件表示在标题上以term方式查询,查询词是word1和word2。另外,还需要说明的是,在实际使用过程中,一个查询条件并非一定包含字段名、查询方式和查询参数三个部分的具体内容,若不包含查询方式,可以理解成是采用默认的查询方式进行查询,且默认的查询方式可以依据具体情况进行设定。S102、根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句,得到采用原生语言编写的第二查询语句。本实施例公开的查询语句的生成方法中,由于接收的是采用中间语言本文档来自技高网...

【技术保护点】
1.一种查询语句的生成方法,其特征在于,包括:接收由中间语言编写的第一查询语句,其中,所述中间语言符合自然语言的语法规律;根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句,得到采用原生语言编写的第二查询语句。

【技术特征摘要】
1.一种查询语句的生成方法,其特征在于,包括:接收由中间语言编写的第一查询语句,其中,所述中间语言符合自然语言的语法规律;根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句,得到采用原生语言编写的第二查询语句。2.根据权利要求1所述的方法,其特征在于,所述第一查询语句包括查询条件。3.根据权利要求2所述的方法,其特征在于,所述查询条件包括查询方式和查询内容,且所述查询方式和所述查询内容组成符合自然语言的语法规律的表达式。4.根据权利要求2或3所述的方法,其特征在于,若所述第一查询语句包含一个所述查询条件,则所述根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句,得到采用原生语言编写的第二查询语句,包括:根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句中的查询条件,得到原生语言的查询条件;依据所述原生语言的查询条件,生成所述第二查询语句。5.根据权利要求2或3所述的方法,其特征在于,若所述第一查询语句包含多个所述查询条件,则所述第一查询语句还包括:用于表征所述多个查询条件的关系的运算符;以及所述根据预先建立的中间语言与原生语言间的对应关系转换所述第一查询语句,得到采用原生语言编写的第二查询语句,包括:以所述运算符为分界点拆分所述第一查询语句,得到所述多个查询条件;将得到的所述多个查询条件和对应的运算符,组成第一表...

【专利技术属性】
技术研发人员:王清华
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京,11

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

1