CN110188250A - 一种查询语句的生成方法及装置 - Google Patents
一种查询语句的生成方法及装置 Download PDFInfo
- Publication number
- CN110188250A CN110188250A CN201910478095.0A CN201910478095A CN110188250A CN 110188250 A CN110188250 A CN 110188250A CN 201910478095 A CN201910478095 A CN 201910478095A CN 110188250 A CN110188250 A CN 110188250A
- Authority
- CN
- China
- Prior art keywords
- field
- class object
- note
- inquiry
- metadata category
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供的一种查询语句的生成方法及装置,所述方法通过根据输入的查询字段值以及预设的元数据类创建类对象,根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,直接根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,无需再预生成以及预加载SDK执行命令语句,从而大幅减少了代码量,能够快速生成查询语句,降低了生成查询语句的复杂度,缩短了开发时间,降低开发成本。
Description
技术领域
本申请涉及分布式搜索技术领域,特别涉及一种查询语句的生成方法及装置、计算设备和计算机可读存储介质。
背景技术
随着因特网的快速发展,当今时代互联网上的数据越来越多,如何从海量的数据中检索到有用的信息成为搜索引擎主要面临的问题。分布式搜索(Elasticsearch)是一个基于开放源代码的全文检索引擎工具包(Lucene)的搜索服务器,Elasticsearch提供了一个分布式多用户能力的全文搜索引擎,能够实现分布式实时搜索以检索到有用的信息。
ElasticSearch查询方式包括领域特定语言(Domain Specific Language,DSL)查询,该查询方法通过生成ElasticSearch DSL查询语句的方式来进行查询。现有技术中,一般是通过使用Elasticsearch的软件开发工具包(Software Development Kit,SDK)来构造DSL查询语句。这种方法需要根据字段含义调用SDK中对应的执行命令语句,并根据该执行命令语句构造DSL查询语句。此种方法需要预先生成并预加载SDK中的执行命令语句,然后在构造DSL查询语句的过程中等待被调用,此方法开发工作量大,开发效率低,尤其在复杂的需求调试的过程中工作量较大。
发明内容
有鉴于此,本申请实施例提供了一种查询语句的生成方法及装置、计算设备、计算机可读存储介质和芯片,以解决现有技术中存在的技术缺陷。
本申请实施例公开了一种查询语句的生成方法,包括:
根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解;
根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解;
根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。
可选地,根据输入的查询字段值以及预设的元数据类创建类对象之前,还包括:获取原始数据,基于所述原始数据生成元数据类;
根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。
可选地,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,包括:
根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段;
在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。
可选地,根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,包括:建立查询语句框架;
根据所述查询字段值、所述类对象对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句。
可选地,根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解,包括:
根据输入的查询字段值以及预设的领域特定语言DSL元数据类创建类对象,所述DSL元数据类包括字段以及字段对应的注解;
根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,包括:
根据所述类对象,确定所述DSL元数据类中与所述类对象对应的字段以及字段的注解;
根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,包括:
根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成DSL查询语句。
可选地,根据输入的查询字段值以及预设的元数据类创建类对象,包括:
接收输入的查询字段值;
根据所述查询字段值实例化预设的元数据类创建所述类对象。
本申请实施例还公开了一种查询语句的生成装置,包括:
创建模块,被配置为根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解;
确定模块,被配置为根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解;
生成模块,被配置为根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。
可选地,查询语句的生成装置还包括:获取模块,被配置为获取原始数据,基于所述原始数据生成元数据类;
添加模块,被配置为根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。
可选地,所述确定模块,被进一步配置为根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段;
在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。
可选地,所述生成模块,被进一步配置为建立查询语句框架;
根据所述查询字段值、所述类对象对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句。
可选地,所述创建模块被进一步配置为根据输入的查询字段值以及预设的领域特定语言DSL元数据类创建类对象,所述DSL元数据类包括字段以及字段对应的注解;
所述确定模块被进一步配置为根据所述类对象,确定所述DSL元数据类中与所述类对象对应的字段以及字段的注解;
所述生成模块被进一步配置为根据所述查询字段值、所述类对象中查询字段值对应的字段以及所述字段的注解生成DSL查询语句。
可选地,所述创建模块被进一步配置为接收输入的查询字段值;
根据所述查询字段值实例化预设的元数据类创建所述类对象。
本申请实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述的查询语句的生成方法的步骤。
本申请实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述的查询语句的生成方法的步骤。
本申请提供的一种查询语句的生成的方法及装置,通过根据输入的查询字段值以及预设的元数据类创建类对象,根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,直接根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,与现有技术的通过SDK生成DSL查询语句相比,无需再预生成以及预加载SDK执行命令语句,从而大幅减少了代码量,能够快速生成查询语句,降低了生成查询语句的复杂度,缩短了开发时间,降低开发成本。
附图说明
图1是本申请实施例的计算设备的结构示意图;
图2是本申请一实施例的查询语句的生成方法的流程示意图;
图3是本申请一实施例查询语句的生成方法中元数据类的创建流程示意图;
图4是本申请一实施例查询语句的生成方法中生成查询语句的流程示意图;
图5是本申请一实施例的查询语句的生成方法的流程示意图;
图6是本申请实施例的查询语句的生成装置结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
分布式搜索(Elasticsearch):是一个基于开放源代码的全文检索引擎工具包的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎。
领域特定语言(Domain Specific Language,DSL):专注于某个应用程序领域的计算机语言,又译作领域专用语言。
软件开发工具包(Software Development Kit,SDK):指一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等简历应用软件时的开发工具集合。
在本申请中,提供了一种查询语句的生成方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的查询语句的生成方法的示意性流程图,包括步骤202至步骤206。
步骤202:根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解。
可选地,对于所述元数据类的创建,可以执行图3所示方法中的步骤,图3示出了本申请方法中创建元数据类的示意性流程图,包括步骤302至304。
步骤302:获取原始数据,基于所述原始数据生成元数据类。
上述原始数据,可以为数据库中存储的学生数据或产品数据等,比如表1中示出了存储的学生数据。
表1
姓名(name) | 年龄(age) | 性别(sex) |
李强 | 16 | 男 |
张梅 | 17 | 女 |
下面对字段以及字段值的概念进行说明,表1示出了存储的学生数据中的字段以及对应的字段值,每个字段对应某一专题的信息。
表1中“李强”、“16”和“男”表示一个学生的信息,“张梅”、“17”和“女”表示另一个学生的信息。第一行包括“name”、“age”和“sex”三个字段,“李强”和“张梅”是“name”字段的字段值,而“16”与“17”是“age”字段的字段值,“男”和“女”是“sex”字段的字段值。
步骤304:根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。
上述注解可以理解为代码里的特殊标志,这些标志可以在编译、类加载和运行时被读取,并执行相应的处理,以便于其他工具补充信息或者进行部署。
所述注解的类型可以根据实际的查询语句的开发需求添加,比如,可以根据所述元数据类中的字段“sex”,向字段“sex”添加对应的注解为“@Filter”和“@Term”。根据字段“name”,向字段“name”添加对应的注解为“@Must”和“@Match”。
步骤204:根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解。
可选地,步骤204包括下述步骤2041至2042:
步骤2041:根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段。
比如根据所述类对象中的查询字段值“强”对应的字段“name”,在所述元数据类中查找到所述查询字段值对应的字段“name”。
步骤2042:在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。
比如在所述元数据类中确定所述查询字段值“强”对应的字段“name”以及字段的注解“@Must”。
步骤206:根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。
可选地,参见图4所示,步骤206包括步骤402和步骤404。
步骤402:建立查询语句框架。
其中,所述查询语句框架的形式可以为多种,例如在一种具体的实现方案中,所述查询语句框架可以为如下所示的框架。
步骤404:根据所述查询字段值、所述类对象对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句。
比如可以根据上述查询字段值“强”、所述类对象对应的字段“name”以及所述字段的注解“@Must”,向所述查询语句框架填充来生成查询语句。
本申请提供的一种查询语句的生成的方法,通过根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类中的字段设置有对应的注解,根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,直接根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,与现有技术的通过SDK生成DSL语句相比,无需再预生成以及预加载SDK执行命令语句,从而大幅减少了代码量,能够快速生成查询语句,降低了生成查询语句的复杂度,缩短了开发时间,降低开发成本。
本申请一实施例生成查询语句的方法,以获取表1示出的数据库中存储的学生数据为例,详细说明本申请生成查询语句的过程,参见图5所示,包括步骤502至步骤514。
步骤502:获取原始数据,基于所述原始数据生成元数据类。
上述原始数据即为表1中示出的数据库中存储的学生数据,当用户输入想要搜索的查询字段时,可以理解为是在数据库中存储的学生数据中搜索用户输入的查询字段对应的学生信息。
步骤504:根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。
即所述元数据类中的字段设置有对应的注解,通过下述步骤,根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,直接根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,大幅减少了代码量,能够快速生成查询语句,缩短了开发时间。
可选地,步骤504包括:根据所述DSL元数据类中的字段,向所述DSL元数据类中的字段添加对应的注解。
比如需要根据年龄精确查找、性别精确查找、名字模糊查找、以及年龄范围查找,所述DSL元数据类具体如下。
Class StudentSearchCriteria{
@PageNo
private IntegerpageNo;
@PageSize
private IntegerpageSize;
@Filter
@Term
private Integer sex;
@Must
@Match
private String name;
@Filter
@Range(fieldName=“age”,type=Range.Type.FROM,includeBoundary=true)
private Integer ageFrom;
@Filter
@Range(fieldName=“age”,type=Range.Type.TO,includeBoundary=true)
private Integer ageTo;
}
其中,上述元数据类中的字段“sex”,向字段“sex”添加对应的注解为“@Filter”和“@Term”。根据字段“name”,向字段“name”添加对应的注解为“@Must”和“@Match”,根据字段“age”,向字段“age”添加的注解为“@Filter”和“@Range”。另外,pageNo和pageSize是用来做分页的。
步骤506:根据输入的查询字段值以及预设的元数据类创建类对象。
可选地,步骤506包括:根据输入的查询字段值以及预设的领域特定语言DSL元数据类创建类对象,所述DSL元数据类包括字段以及字段对应的注解。
所述输入的查询字段值是用户在搜索框内输入的用户想要查询的内容,比如用户查名字带有“强”,且年龄在15-18岁之间的同学,分布式搜索Elasticsearch接收到查询字段值“强”、“15”和“18”,则根据输入的查询字段值“强”、“15”和“18”以及预设的元数据类创建类对象。
根据所述类对象的查询字段值“强”、“15”和“18”以及预设的DSL元数据类创建的类对象具体如下。
步骤508:根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段。
可选地,根据所述类对象中的查询字段值对应的字段,在所述DSL元数据类中查找所述查询字段值对应的字段。
根据所述类对象的查询字段值“强”、“15”和“18”对应的字段分别为“name”和“age”,在所述DSL元数据类中查找所述查询字段值对应的字段。
步骤510:在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。
可选地,步骤510包括:在所述DSL元数据类中确定所述查询字段值对应的字段以及字段的注解。
确定所述DSL元数据类中与所述类对象中的查询字段值对应的字段“name”以及字段“name”的注解为“@Must”和“@Match”,确定所述DSL元数据类中与所述类对象中的查询字段值对应的字段“age”以及字段“age”的注解为“@Filter”和“@Range”。
步骤512:建立查询语句框架。
步骤514:根据所述查询字段值、所述类对象中查询字段值对应的字段以及字段的注解,填充所述查询语句框架生成查询语句。
可选地,步骤514包括:根据所述查询字段值、所述类对象中查询字段值对应的字段以及所述字段的注解,填充所述查询语句框架生成DSL查询语句。
下面具体示出了生成的DSL查询语句。
本申请提供的一种查询语句的生成的方法,最后根据所述查询字段值、所述类对象对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句,能够快速生成DSL查询语句,降低了生成DSL查询语句的复杂度,缩短了开发时间,降低开发成本。
本申请一实施例还提供一种查询语句的生成装置,参见图6所示,包括:
创建模块601,被配置为根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解;
确定模块602,被配置为根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解;
生成模块603,被配置为根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。
可选地,查询语句的生成装置还包括:
获取模块,被配置为获取原始数据,基于所述原始数据生成元数据类;
添加模块,被配置为根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。
可选地,所述确定模块602,被进一步配置为根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段;
在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。
可选地,所述生成模块603,被进一步配置为建立查询语句框架;
根据所述查询字段值、所述类对象对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句。
可选地,所述创建模块601被进一步配置为根据输入的查询字段值以及预设的领域特定语言DSL元数据类创建类对象,所述DSL元数据类包括字段以及字段对应的注解;
所述确定模块602被进一步配置为根据所述类对象,确定所述DSL元数据类中与所述类对象对应的字段以及字段的注解;
所述生成模块603被进一步配置为根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成DSL查询语句。
可选地,所述创建模块601被进一步配置为接收输入的查询字段值;
根据所述查询字段值实例化预设的元数据类创建所述类对象。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如前所述查询语句的生成方法的步骤。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述查询语句的生成方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述查询语句的生成方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述查询语句的生成方法的技术方案的描述。
本申请一实施例还提供一种芯片,其存储有计算机指令,该指令被处理器执行时实现如前所述查询语句的生成方法的步骤。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种查询语句的生成方法,其特征在于,包括:
根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解;
根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解;
根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。
2.根据权利要求1所述的方法,其特征在于,根据输入的查询字段值以及预设的元数据类创建类对象之前,还包括:
获取原始数据,基于所述原始数据生成元数据类;
根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。
3.根据权利要求1或2所述的方法,其特征在于,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,包括:
根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段;
在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。
4.根据权利要求3所述的方法,其特征在于,根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,包括:
建立查询语句框架;
根据所述查询字段值、所述类对象中查询字段值对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句。
5.根据权利要求1所述的方法,其特征在于,根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解,包括:
根据输入的查询字段值以及预设的领域特定语言DSL元数据类创建类对象,所述DSL元数据类包括字段以及字段对应的注解;
根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解,包括:
根据所述类对象,确定所述DSL元数据类中与所述类对象对应的字段以及字段的注解;
根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句,包括:
根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成DSL查询语句。
6.根据权利要求1所述的方法,其特征在于,根据输入的查询字段值以及预设的元数据类创建类对象,包括:
接收输入的查询字段值;
根据所述查询字段值实例化预设的元数据类创建所述类对象。
7.一种查询语句的生成装置,其特征在于,包括:
创建模块,被配置为根据输入的查询字段值以及预设的元数据类创建类对象,所述元数据类包括字段以及字段对应的注解;
确定模块,被配置为根据所述类对象,确定预设的元数据类中与所述类对象对应的字段以及字段的注解;
生成模块,被配置为根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成查询语句。
8.根据权利要求7所述的装置,其特征在于,还包括:
获取模块,被配置为获取原始数据,基于所述原始数据生成元数据类;
添加模块,被配置为根据所述元数据类中的字段,向所述元数据类中的字段添加对应的注解。
9.根据权利要求7或8所述的装置,其特征在于,所述确定模块,被进一步配置为根据所述类对象中的查询字段值对应的字段,在所述元数据类中查找所述查询字段值对应的字段;在所述元数据类中确定所述查询字段值对应的字段以及字段的注解。
10.根据权利要求9所述的装置,其特征在于,所述生成模块,被进一步配置为建立查询语句框架;根据所述查询字段值、所述类对象中查询字段值对应的字段以及所述字段的注解,填充所述查询语句框架生成查询语句。
11.根据权利要求7所述的装置,其特征在于,所述创建模块被进一步配置为根据输入的查询字段值以及预设的领域特定语言DSL元数据类创建类对象,所述DSL元数据类包括字段以及字段对应的注解;
所述确定模块被进一步配置为根据所述类对象,确定所述DSL元数据类中与所述类对象对应的字段以及字段的注解;
所述生成模块被进一步配置为根据所述查询字段值、所述类对象对应的字段以及所述字段的注解生成DSL查询语句。
12.根据权利要求7所述的装置,其特征在于,所述创建模块被进一步配置为接收输入的查询字段值;
根据所述查询字段值实例化预设的元数据类创建所述类对象。
13.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-6任意一项所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-6任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478095.0A CN110188250A (zh) | 2019-06-03 | 2019-06-03 | 一种查询语句的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478095.0A CN110188250A (zh) | 2019-06-03 | 2019-06-03 | 一种查询语句的生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110188250A true CN110188250A (zh) | 2019-08-30 |
Family
ID=67720015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910478095.0A Pending CN110188250A (zh) | 2019-06-03 | 2019-06-03 | 一种查询语句的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188250A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611241A (zh) * | 2020-04-29 | 2020-09-01 | 平安科技(深圳)有限公司 | 一种字典数据操作方法、装置、可读存储介质及终端设备 |
CN112507067A (zh) * | 2020-11-30 | 2021-03-16 | 厦门海西医药交易中心有限公司 | 一种缓存插入式注解器及注解方法 |
CN113760969A (zh) * | 2021-02-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种基于ElasticSearch的数据查询方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230063A1 (en) * | 2005-04-08 | 2006-10-12 | International Business Machines Corporation | Method and apparatus for mapping structured query language schema to application specific business objects in an integrated application environment |
CN104965886A (zh) * | 2015-06-16 | 2015-10-07 | 广州市勤思网络科技有限公司 | 数据维度处理方法 |
CN105912949A (zh) * | 2016-04-13 | 2016-08-31 | 北京京东尚科信息技术有限公司 | 数据权限管理方法、数据权限管理系统以及业务管理系统 |
CN107256267A (zh) * | 2017-06-19 | 2017-10-17 | 北京百度网讯科技有限公司 | 查询方法和装置 |
-
2019
- 2019-06-03 CN CN201910478095.0A patent/CN110188250A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060230063A1 (en) * | 2005-04-08 | 2006-10-12 | International Business Machines Corporation | Method and apparatus for mapping structured query language schema to application specific business objects in an integrated application environment |
CN104965886A (zh) * | 2015-06-16 | 2015-10-07 | 广州市勤思网络科技有限公司 | 数据维度处理方法 |
CN105912949A (zh) * | 2016-04-13 | 2016-08-31 | 北京京东尚科信息技术有限公司 | 数据权限管理方法、数据权限管理系统以及业务管理系统 |
CN107256267A (zh) * | 2017-06-19 | 2017-10-17 | 北京百度网讯科技有限公司 | 查询方法和装置 |
Non-Patent Citations (1)
Title |
---|
CTOLIB码库: "fast-es-query-builder:迅速构建ElasticSearch查询语句,甚至可以不写一行实现代码", 《CTOLIB码库,HTTPS://JAVA.CTOLIB.COM/THARE-LAM-FAST-ES-QUERY-BUILDER.HTML》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611241A (zh) * | 2020-04-29 | 2020-09-01 | 平安科技(深圳)有限公司 | 一种字典数据操作方法、装置、可读存储介质及终端设备 |
CN112507067A (zh) * | 2020-11-30 | 2021-03-16 | 厦门海西医药交易中心有限公司 | 一种缓存插入式注解器及注解方法 |
CN112507067B (zh) * | 2020-11-30 | 2022-08-23 | 厦门海西医药交易中心有限公司 | 一种缓存插入式注解器及注解方法 |
CN113760969A (zh) * | 2021-02-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种基于ElasticSearch的数据查询方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110147437A (zh) | 一种基于知识图谱的搜索方法及装置 | |
CN107436875B (zh) | 文本分类方法及装置 | |
CN109086303A (zh) | 基于机器阅读理解的智能对话方法、装置、终端 | |
CN109408526A (zh) | Sql语句生成方法、装置、计算机设备及存储介质 | |
EP3627398A1 (en) | Method, system, and computer program for artificial intelligence answer | |
CN110188250A (zh) | 一种查询语句的生成方法及装置 | |
CN107741976B (zh) | 智能应答方法、装置、介质和电子设备 | |
CN111898643B (zh) | 一种语义匹配方法及装置 | |
CN110347999A (zh) | 一种表格数据校验的方法和装置 | |
CN109816111A (zh) | 阅读理解模型训练方法以及装置 | |
CN109614473B (zh) | 应用于智能交互的知识推理方法及装置 | |
EP3210133A1 (en) | Tagging personal photos with deep networks | |
JP2018073411A (ja) | 自然言語の生成方法、自然言語の生成装置及び電子機器 | |
CN108549710B (zh) | 智能问答方法、装置、存储介质及设备 | |
CN110233946B (zh) | 执行外呼业务方法、电子设备及计算机可读存储介质 | |
CN110209782B (zh) | 问答模型及应答语句的生成方法、装置、介质和电子设备 | |
US20180276210A1 (en) | Dynamic summary generator | |
CN107315833A (zh) | 基于应用程序的检索与下载的方法和装置 | |
CN108519998A (zh) | 基于知识图谱的问题引导方法及装置 | |
CN113076423A (zh) | 数据处理方法及装置、数据查询方法及装置 | |
CN108334353B (zh) | 技能开发系统及方法 | |
CN116089567A (zh) | 一种搜索关键词的推荐方法、装置、设备和存储介质 | |
CN117521625A (zh) | 问答方法、装置、电子设备及介质 | |
CN117992598B (zh) | 基于大模型的需求响应方法、装置、介质及设备 | |
CN110147414A (zh) | 一种知识图谱的实体表征方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190830 |