一种查询语句的生成方法及装置制造方法及图纸

技术编号:22000291 阅读:16 留言:0更新日期:2019-08-31 05:25
本申请提供的一种查询语句的生成方法及装置,所述方法通过根据输入的查询字段值以及预设的元数据类创建类对象,根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,直接根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,无需再预生成以及预加载SDK执行命令语句,从而大幅减少了代码量,能够快速生成查询语句,降低了生成查询语句的复杂度,缩短了开发时间,降低开发成本。

A Method and Device for Generating Query Sentences

【技术实现步骤摘要】
一种查询语句的生成方法及装置
本申请涉及分布式搜索
,特别涉及一种查询语句的生成方法及装置、计算设备和计算机可读存储介质。
技术介绍
随着因特网的快速发展,当今时代互联网上的数据越来越多,如何从海量的数据中检索到有用的信息成为搜索引擎主要面临的问题。分布式搜索(Elasticsearch)是一个基于开放源代码的全文检索引擎工具包(Lucene)的搜索服务器,Elasticsearch提供了一个分布式多用户能力的全文搜索引擎,能够实现分布式实时搜索以检索到有用的信息。ElasticSearch查询方式包括领域特定语言(DomainSpecificLanguage,DSL)查询,该查询方法通过生成ElasticSearchDSL查询语句的方式来进行查询。现有技术中,一般是通过使用Elasticsearch的软件开发工具包(SoftwareDevelopmentKit,SDK)来构造DSL查询语句。这种方法需要根据字段含义调用SDK中对应的执行命令语句,并根据该执行命令语句构造DSL查询语句。此种方法需要预先生成并预加载SDK中的执行命令语句,然后在构造DSL查询语句的过程中等待被调用,此方法开发工作量大,开发效率低,尤其在复杂的需求调试的过程中工作量较大。
技术实现思路
有鉴于此,本申请实施例提供了一种查询语句的生成方法及装置、计算设备、计算机可读存储介质和芯片,以解决现有技术中存在的技术缺陷。本申请实施例公开了一种查询语句的生成方法,包括:根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解;根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解;根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。可选地,根据输入的查询字段值以及预设的元数据类创建类对象之前,还包括:获取原始数据,基于所述原始数据生成元数据类;根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。可选地,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,包括:根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段;在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。可选地,根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,包括:建立查询语句框架;根据所述查询字段值、所述类对象对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句。可选地,根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解,包括:根据输入的查询字段值以及预设的领域特定语言DSL元数据类创建类对象,所述DSL元数据类包括字段以及字段对应的注解;根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,包括:根据所述类对象,确定所述DSL元数据类中与所述类对象对应的字段以及字段的注解;根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,包括:根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成DSL查询语句。可选地,根据输入的查询字段值以及预设的元数据类创建类对象,包括:接收输入的查询字段值;根据所述查询字段值实例化预设的元数据类创建所述类对象。本申请实施例还公开了一种查询语句的生成装置,包括:创建模块,被配置为根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解;确定模块,被配置为根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解;生成模块,被配置为根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。可选地,查询语句的生成装置还包括:获取模块,被配置为获取原始数据,基于所述原始数据生成元数据类;添加模块,被配置为根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。可选地,所述确定模块,被进一步配置为根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段;在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。可选地,所述生成模块,被进一步配置为建立查询语句框架;根据所述查询字段值、所述类对象对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句。可选地,所述创建模块被进一步配置为根据输入的查询字段值以及预设的领域特定语言DSL元数据类创建类对象,所述DSL元数据类包括字段以及字段对应的注解;所述确定模块被进一步配置为根据所述类对象,确定所述DSL元数据类中与所述类对象对应的字段以及字段的注解;所述生成模块被进一步配置为根据所述查询字段值、所述类对象中查询字段值对应的字段以及所述字段的注解生成DSL查询语句。可选地,所述创建模块被进一步配置为接收输入的查询字段值;根据所述查询字段值实例化预设的元数据类创建所述类对象。本申请实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述的查询语句的生成方法的步骤。本申请实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述的查询语句的生成方法的步骤。本申请提供的一种查询语句的生成的方法及装置,通过根据输入的查询字段值以及预设的元数据类创建类对象,根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,直接根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,与现有技术的通过SDK生成DSL查询语句相比,无需再预生成以及预加载SDK执行命令语句,从而大幅减少了代码量,能够快速生成查询语句,降低了生成查询语句的复杂度,缩短了开发时间,降低开发成本。附图说明图1是本申请实施例的计算设备的结构示意图;图2是本申请一实施例的查询语句的生成方法的流程示意图;图3是本申请一实施例查询语句的生成方法中元数据类的创建流程示意图;图4是本申请一实施例查询语句的生成方法中生成查询语句的流程示意图;图5是本申请一实施例的查询语句的生成方法的流程示意图;图6是本申请实施例的查询语句的生成装置结构示意图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此本文档来自技高网...

【技术保护点】
1.一种查询语句的生成方法,其特征在于,包括:根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解;根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解;根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。

【技术特征摘要】
1.一种查询语句的生成方法,其特征在于,包括:根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解;根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解;根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。2.根据权利要求1所述的方法,其特征在于,根据输入的查询字段值以及预设的元数据类创建类对象之前,还包括:获取原始数据,基于所述原始数据生成元数据类;根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。3.根据权利要求1或2所述的方法,其特征在于,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,包括:根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段;在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。4.根据权利要求3所述的方法,其特征在于,根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,包括:建立查询语句框架;根据所述查询字段值、所述类对象中查询字段值对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句。5.根据权利要求1所述的方法,其特征在于,根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解,包括:根据输入的查询字段值以及预设的领域特定语言DSL元数据类创建类对象,所述DSL元数据类包括字段以及字段对应的注解;根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,包括:根据所述类对象,确定所述DSL元数据类中与所述类对象对应的字段以及字段的注解;根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,包括:根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成DSL查询语句。6.根据权利要求1所述的方法,其特征在于,根据输入的查询字段值以及预设的元数据类创建类对象,包括:接收输入的查询字段值;根据所述查询字段值实例化预设的元数据类创建所述类对象。7.一种查询语句的...

【专利技术属性】
技术研发人员:梁陈浩陈洁
申请(专利权)人:政采云有限公司
类型:发明
国别省市:浙江,33

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

1