本发明涉及计算机,更具体地,涉及一种基于es引擎的检索方法、系统、电子设备及存储介质。
背景技术:
1、elasticsearch(简称es)是一个开源的、基于lucene的搜索服务器,其提供了一个分布式多用户能力的全文搜索引擎。在大数据行业里,elasticsearch的分布式检索功能便于数据多维度呈现、分析、预测,有利于发挥数据的价值。在国内,多家大型公司,如海量、携程、新浪、百度等都使用elasticsearch做检索分析。
2、现时,对于elasticsearch的功能使用最多的是检索,作为当前流行的企业级搜索引擎,elasticsearch能够解决人们对于搜索的众多要求,其通过http使用dsl查询语言进行数据索引,不支持sql。然后现阶段开发者对数据的查询展示分析都是以sql进行的,因此,如何进一步提高elasticsearch对sql的兼容性是亟待解决的问题。
技术实现思路
1、本发明针对现有技术中存在的技术问题,提供一种基于es引擎的检索方法、系统、电子设备及存储介质,用以解决如何进一步提高elasticsearch对sql的兼容性的问题。
2、本发明的第一方面,提供了一种基于es引擎的检索方法,包括:
3、对获取到的查询语句进行解析,得到解析后的sql语句、查询参数、分页参数和目标页码;
4、将所述sql语句、所述查询参数和所述分页参数传输至es引擎的查询接口中,以使所述es引擎返回查询结果集的快照编号;
5、基于所述目标页码和所述快照编号,逐页对所述查询结果集进行遍历,直至获取所述目标页码对应的查询数据;
6、将所述查询数据转换并封装为jdbc规范的结果集合,并返回至数据查询方。
7、在上述技术方案的基础上,本发明还可以作出如下改进。
8、优选的,所述查询语句的入参为object对象,所述object对象的属性包括查询参数、分页参数和目标页码。
9、优选的,所述将所述sql语句、所述查询参数和所述分页参数传输至es引擎的查询接口中,以使所述es引擎返回查询结果集的快照编号的步骤,包括:
10、将所述sql语句、所述查询参数和所述分页参数传输至es引擎的查询接口中;
11、所述es引擎基于所述sql语句、所述查询参数和所述分页参数,查询所述es引擎对应的es数据库集群,缓存查询到的数据结果集和快照编号,并返回所述快照编号。
12、优选的,所述基于所述目标页码和所述快照编号,逐页对所述查询结果集进行遍历,直至获取所述目标页码对应的查询数据的步骤,包括:
13、基于所述快照编号获取所述查询结果集,并从第一页开始逐页获取所述查询结果集中的数据,直至获取到所述目标页码对应的查询数据。
14、优选的,当所述分页参数和所述目标页码为空时,将所述sql语句和所述查询参数传输至es引擎的查询接口中,以使所述es引擎返回查询结果集的快照编号。
15、优选的,基于所述快照编号,将所述查询结果集返回至数据查询方。
16、优选的,所述将所述sql语句、所述查询参数和所述分页参数传输至es引擎的查询接口中的步骤,包括:
17、基于resthighlevelclient和restful协议,调用所述es引擎并传入所述sql语句、所述查询参数和所述分页参数。
18、本发明的第二方面,提供一种基于es引擎的检索系统,包括:
19、参数解析模块,用于对获取到的查询语句进行解析,得到解析后的sql语句、查询参数、分页参数和目标页码;
20、快照获取模块,用于将所述sql语句、所述查询参数和所述分页参数传输至es引擎的查询接口中,以使所述es引擎返回查询结果集的快照编号;
21、结果查询模块,用于基于所述目标页码和所述快照编号,逐次对所述查询结果集进行遍历,直至获取所述目标页码对应的查询数据;
22、数据封装模块,用于将所述查询数据转换并封装为jdbc规范的结果集合,并返回至数据查询方。
23、本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现上述第一方面中任一基于es引擎的检索方法的步骤。
24、本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现上述第一方面中任一基于es引擎的检索方法的步骤。
25、本发明提供的一种基于es引擎的检索方法、系统、电子设备及存储介质,方法包括:对获取到的查询语句进行解析,得到解析后的sql语句、查询参数、分页参数和目标页码;将上述sql语句、上述查询参数和上述分页参数传输至es引擎的查询接口中,以使上述es引擎返回查询结果集的快照编号;基于上述目标页码和上述快照编号,逐页对上述查询结果集进行遍历,直至获取上述目标页码对应的查询数据;将上述查询数据转换并封装为jdbc规范的结果集合,并返回至数据查询方。本发明通过将查询语句中的参数进行解析,基于解析后的参数调用es引擎的查询接口,获取返回的快照编号,再基于快照编号逐页查询目标页码对应的查询数据,从而实现了基于sql的es引擎多参数分页检索,进而使得开发者在使用es引擎时无需改变原有的sql查询习惯,进一步降低学习成本,增强代码的可读性,简化开发工作,提高代码复用率。
1.一种基于es引擎的检索方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于es引擎的检索方法,其特征在于,所述查询语句的入参为object对象,所述object对象的属性包括查询参数、分页参数和目标页码。
3.根据权利要求1所述的基于es引擎的检索方法,其特征在于,所述将所述sql语句、所述查询参数和所述分页参数传输至es引擎的查询接口中,以使所述es引擎返回查询结果集的快照编号的步骤,包括:
4.根据权利要求1所述的基于es引擎的检索方法,其特征在于,所述基于所述目标页码和所述快照编号,逐页对所述查询结果集进行遍历,直至获取所述目标页码对应的查询数据的步骤,包括:
5.根据权利要求1所述的基于es引擎的检索方法,其特征在于,当所述分页参数和所述目标页码为空时,将所述sql语句和所述查询参数传输至es引擎的查询接口中,以使所述es引擎返回查询结果集的快照编号。
6.根据权利要求5所述的基于es引擎的检索方法,其特征在于,基于所述快照编号,将所述查询结果集返回至数据查询方。
7.根据权利要求1所述的基于es引擎的检索方法,其特征在于,所述将所述sql语句、所述查询参数和所述分页参数传输至es引擎的查询接口中的步骤,包括:
8.一种基于es引擎的检索系统,其特征在于,包括:
9.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1-7任一项所述的基于es引擎的检索方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现如权利要求1-7任一项所述的基于es引擎的检索方法的步骤。
深圳坪山网站建设公司施秉网站优化与推广淮北公司网站优化seo优化之网站更新江北城网站推广优化网站优化平台哪家大内黄县网站优化技巧郴州标准营销型网站优化鸡泽网站优化价格白云专业网站优化大庆靠谱的网站优化针对网站做搜索引擎做优化南京雅克网站优化有限公司青岛市网站优化平台网站seo优化设置浙江网站关键词优化排名技巧闵行区百度网站优化费用如皋网站优化系统兰州网站搜索引擎优化州靠谱网站优化电话阿鲁科尔沁网站优化公司响应式网站对优化有帮助吗海南专业的网站关键词优化兖州网站优化公司资阳网站seo优化联系方式网站优化人员的岗位职责深圳便宜的网站优化哪个好企业网站布置内链优化为什么要做网站优化佛冈网站优化张雪峰谈网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤