技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于SQL操作Elasticsearch的方法与流程  >  正文

一种基于SQL操作Elasticsearch的方法与流程

  • 国知局
  • 2024-10-09 16:34:58

本发明涉及数据处理,尤其涉及一种基于sql操作elasticsearch的方法。

背景技术:

1、随着大数据时代的到来,非关系型数据库(nosql)因其在处理大规模数据集、高并发访问以及灵活的数据模型等方面的优势,越来越受到重视。elasticsearch作为一种流行的开源分布式搜索和分析引擎,基于lucene构建,提供了全文搜索、高亮显示、自动完成以及聚合等功能,它通常用于实现复杂搜索功能,如日志数据分析、实时数据分析等。

2、传统的关系型数据库(rdbms)广泛使用sql语言作为标准查询语言。sql语言以其结构化、易于理解和使用的特点,成为了数据库操作的事实标准。然而,elasticsearch作为一种非关系型数据库,其查询语言为基于json格式的domain specific language(dsl),与sql有显著差异,对于习惯使用 sql 的开发者来说,需要投入额外的时间和精力去学习一种新的查询语言,那么一个很自然的需求就是,通过sql语句来操作elasticsearch的数据。

3、中国专利公开号cn107153535a公开了一种操作elasticsearch的方法及装置,所述方法包括:从elasticsearch的上游获取待操作数据;利用sql对待操作数据进行转换操作,将待操作数据转换为目标操作数据,目标操作数据具有与elasticsearch对应的数据结构;将目标操作数据和转换操作的类型封装为一个action类;利用action类对elasticsearch进行操作。

4、由此可见,上述发明存在以下问题:需要将转换后的操作数据封装为一个action类,利用该action类对elasticsearch进行操作,灵活性和查询效率不高。

技术实现思路

1、为此,本发明提供一种基于sql操作elasticsearch的方法,用以克服现有技术中基于sql操作elasticsearch的查询效率不高的问题。

2、为实现上述目的,本发明提供一种基于sql操作elasticsearch的方法,包括:

3、步骤s1,获取用户输入的sql语句片段;

4、步骤s2,根据预设的语句分析方法对所述sql语句片段进行分析,以得到若干原始关键词;

5、步骤s3,将若干所述原始关键词输入目标deepfm模型中,以得到所述目标deepfm模型输出的若干候选关键词组合以及各候选关键词组合对应的概率;

6、步骤s4,基于所述各候选关键词组合对应的概率在若干所述候选关键词组合中确定向用户推送的若干推送关键词组合;

7、步骤s5,基于各所述推送关键词组合将所述sql语句片段整理为补充关键词后的sql语句向用户推送,获得用户选中的sql语句;

8、步骤s6,根据预设映射规则对所述用户选中的sql语句进行处理,以得到所述用户选中的sql语句对应的elasticsearch操作逻辑,并将其确定为目标操作逻辑。

9、进一步地,在所述步骤s3中,所述目标deepfm模型通过以下步骤获取:

10、步骤s31,获取历史数据中若干用户输入的sql语句片段对应的各初始关键词组合以及各用户输入的sql语句对应的若干中间关键词组合;所述初始关键词组合中包括若干初始关键词;

11、步骤s32,根据各所述初始关键词组合生成若干训练样本;

12、步骤s33,若所述中间关键词组合中包含初始关键词组合中的所有初始关键词,则将其作为该初始关键词组合对应的训练样本的样本标签;

13、步骤s34,根据各训练样本以及对应的样本标签对初始deepfm模型进行训练,以得到目标deepfm模型。

14、进一步地,所述步骤s4,包括:

15、步骤s41,遍历各候选关键词组合对应的概率,将大于预设概率阈值的概率确定为关键概率;

16、步骤s42,将所述关键概率对应的候选关键词组合确定为向用户推送的推送关键词组合,以得到若干推送关键词组合。

17、进一步地,所述步骤s5,包括:

18、步骤s51,将各所述推送关键词组合中的各推送关键词与各所述原始关键词进行对比,以确定若干区别关键词;

19、步骤s52,将若干所述区别关键词进行语句分析,以得到若干区别语句片段;

20、步骤s53,将所述sql语句片段与各区别语句片段进行拼接,以得到若干sql语句;

21、步骤s54,将若干所述sql语句向用户推送,获得用户选中的sql语句。

22、进一步地,所述步骤s6,包括:

23、步骤s61,根据预设的sql解析方法对所述用户选中的sql语句进行解析,以得到所述用户选中的sql语句对应的语义信息;

24、步骤s62,基于预设映射规则将所述语义信息转换为对应的elasticsearch操作逻辑,并将其确定为目标操作逻辑。

25、进一步地,所述步骤s2,包括:

26、步骤s21,根据所述sql语句片段,获取目标指令;所述目标指令至少包括一个目标任务类型的名称标签;所述目标任务类型为若干预设的任务类型中的任一类型;

27、步骤s22,将所述sql语句片段和目标指令输入目标信息抽取模型中,以得到所述目标信息抽取模型输出的抽取结果;

28、步骤s23,根据所述抽取结果,确定若干原始关键词。

29、进一步地,在所述步骤s22中,所述目标信息抽取模型通过以下步骤获取:

30、步骤s221,获取若干原始文本集;每一原始文本集具有对应的原始任务类型;每一原始任务类型为若干预设的任务类型中的其中之一;每一所述原始文本集中包括若干原始文本;

31、步骤s222,根据若干所述原始文本集中的每一原始文本,获取对应的目标训练样本,以得到目标训练样本集;

32、步骤s223,根据所述目标训练样本集对预设大语言模型进行训练,以得到目标信息抽取模型。

33、进一步地,在所述步骤s222中,所述目标训练样本通过以下步骤获取:

34、步骤s2221,根据所述原始文本集对应的原始任务类型,确定每一原始文本集对应的任务模板;每一预设的任务类型具有对应的任务模板;每一任务模板具有若干槽位;每一槽位填充对应预设的任务类型对应的名称标签;

35、步骤s2222,将所述每一原始文本对应的原始任务类型的名称标签填充至对应的任务模板的槽位中,以得到每一原始文本对应的任务指令;

36、步骤2223,将每一原始文本以及所述原始文本对应的任务指令进行拼接,以得到对应的目标训练样本。

37、进一步地,在所述步骤s61中,所述预设的sql解析方法包括根据ccjsqlparserutil类的parse方法解析。

38、进一步地,在所述步骤s41之前,还包括:

39、步骤s40,若所述各候选关键词组合对应的概率中n/a和0的总数量大于预设数量阈值,则基于所述步骤s31-步骤s34重新获取目标deepfm模型,以重新确定所述目标deepfm模型输出的若干候选关键词组合以及各候选关键词组合对应的概率;其中,n/a表示目标deepfm模型输出的候选关键词组合对应的概率上溢;0表示目标deepfm模型输出的待展示选项卡候选关键词组合对应的概率下溢。

40、与现有技术相比,本发明的有益效果在于,本发明通过对用户输入的sql语句片段进行分析,获取sql语句片段对应的若干原始关键词,根据目标deepfm模型对用户的输入结果进行预测并向用户推荐,能够提高用户的输入效率,从而提高查询效率。通过根据预设映射规则对用户选中的sql语句进行处理获取对应的elasticsearch操作逻辑,可以提高操作elasticsearch的灵活性,并且能够提高用户的查询效率。

41、进一步地,本发明通过将各候选关键词组合对应的概率大于预设概率阈值的候选关键词组合进行推送,能够提高用户的输入效率以及推送的准确度。

42、进一步地,本发明通过确定区别关键词可以确定区别语句片段,将sql语句片段与各区别语句片段进行拼接,能够确定向用户推送的若干sql语句,以此能够降低向用户推送的误差,提高用户输入效率。

43、进一步地,本发明通过将sql语句进行解析并以此确定目标操作逻辑,能够提高转换效率以及提高操作elasticsearch的灵活性。

44、进一步地,本发明通过构建目标信息抽取模型以确定原始关键词,能够提高确定原始关键词的准确性。

45、进一步地,本发明通过根据各候选关键词组合对应的概率中n/a和0的数量确定是否重新获取目标deepfm模型,能够提高确定各候选关键词组合以及各候选关键词组合对应的概率的准确性,进一步提高向用户推送的sql语句的准确性。

本文地址:https://www.jishuxx.com/zhuanli/20240929/313445.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。