[发明专利]一种查询方法及相关装置有效
申请号: | 201711447127.8 | 申请日: | 2017-12-27 |
公开(公告)号: | CN110019403B | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 刘硕;范钢;潘竞旭;田宜喜;吴伟刚;张玉魁;陈荣兴 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/25;G06F16/9535 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 查询 方法 相关 装置 | ||
本申请涉及互联网技术领域,尤其涉及一种查询方法及相关装置。该训练方法,通过spring的Controller层、Service层和dao层即可实现对ES的查询。各层单独实现各自的功能,这样开发的代码具有层次性,代码松耦合。此外,本申请实施例中通过配置文件在Service层中设置多个实现类,Controller通过接收到的JavaBean名称即可将相应的参数传递给所需要的实现类,只需要一个Service层和一个Controller层,层次更加简化,便于开发。
技术领域
本申请涉及互联网技术领域,尤其涉及一种查询方法及相关装置。
背景技术
ElasticSearch简称ES是一个基于Lucene(全文搜索引擎)的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎。随着大数据技术的快速发展,使用ES的需求日趋旺盛。目前java api(Java Application Programming Interface,计算机编程语言接口)虽然提供了查询ES方法,但是每个用户包括每个企业实现对ES的查询都需要自己编写一套代码,而各自编写的代码往往耦合度较高,在扩展和修改时往往需要添加或修改的代码量巨大,若工作人员不熟悉原代码时还需要学习源代码的逻辑,这就导致用户实现对ES的查询的工作量巨大,代码开发效率低。所以,需要一种便于松耦合的实用的ES查询方案。
发明内容
本申请实施例提供一种查询方法及相关装置,用以解决现有技术中存在的用于查询ES的代码耦合度高的,实现查询ES的代码开发效率低等的问题。
第一方面,本申请实施例提供的一种查询方法,所述方法包括:
通过Controller层接收前端发送的查询参数,所述查询参数中包括:索引名称、JavaBean名称以及查询条件;
根据预置的配置文件中JavaBean名称与Service层的实现类之间的对应关系,确定所述查询参数中的JavaBean对应的实现类,并将所述索引名称和所述查询条件传递确定的所述实现类;
通过所述实现类对所述查询条件和所述索引名称进行预处理,得到预处理结果;
通过dao层根据所述预处理结果对ElasticSearch进行查询得到查询结果后,将所述查询结果返回给Service层;
通过所述Service层得到查询结果后,将所述查询结果返回给Controller层;
通过所述Controller层将所述查询结果发送给所述前端。
其中,所述通过dao层根据所述预处理结果对ElasticSearch进行查询得到查询结果后,将所述查询结果返回给Service层之前,所述方法还包括:
将所述预处理结果中的所述索引名称和所述查询条件传递给dao层。
其中,将所述查询条件传递确定的所述实现类之前,所述方法还包括:
将所述查询条件转换为键值对格式。
其中,所述Service层的实现类为预先通过JavaBean注入到spring中的。
第二方面,本申请提供一种查询装置,所述装置包括:
参数接收模块,用于通过Controller层接收前端发送的查询参数,所述查询参数中包括:索引名称、JavaBean名称以及查询条件;
业务处理模块,用于根据预置的配置文件中JavaBean名称与Service层的实现类之间的对应关系,确定所述查询参数中的JavaBean对应的实现类,并将所述索引名称和所述查询条件传递确定的所述实现类;
预处理模块,用于通过所述实现类对所述查询条件和所述索引名称进行预处理,得到预处理结果;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711447127.8/2.html,转载请声明来源钻瓜专利网。