【技术实现步骤摘要】
一种基于Elasticsearch的SQL使用方法
本专利技术涉及SQL查询
,具体为一种基于Elasticsearch的SQL使用方法。
技术介绍
Elasticsearch是一个建立在全文搜索引擎ApacheLuceneTM基础上的搜索引擎,是一个实时的分布式搜索和分析引擎。Elasticsearch也是使用Java编写的,它的内部使用Lucene做索引与搜索,但是它的目的是使全文检索变得简单,通过隐藏Lucene的复杂性。Elasticsearch通信方式有很多,一种是通过RESTfulweb接口进行通信,另一种是通过JavaAPI进行通信,查询相关的数据。通过javaAPI操作Elasticsearch,对于技术栈的要求高,增加了学习的成本。要实现查询的功能需要编写的大量的代码才能完成。当版本变化时,还需要重构代码,复用性不高。通过RESTfulweb接口进行通信操作Elasticsearch,这种对技术栈的没有要求,但是查询语法基于JSON数据结构,语法繁杂,语义上不容易理解, ...
【技术保护点】
1.一种基于Elasticsearch的SQL使用方法,其特征在于,该方法包括以下步骤:/n步骤一:部署一个SQL引擎,客户端通过Rest服务接收传递查询的SQL语句;/n步骤二:从缓存中获取查询结果;其中缓存基于Ehcache实现;/n步骤三:将SQL语句通过语法树解析,语法增强后,构造Elasticsearch原生的查询语法;/n步骤四:获取Elasticsearch查询结果,对查询结果进行数据增强,数据增加为在返回的基础上加入了元数据信息,使的数据的属性更加的清晰;将数据增强后的查询结果发送至客户端。/n
【技术特征摘要】
1.一种基于Elasticsearch的SQL使用方法,其特征在于,该方法包括以下步骤:
步骤一:部署一个SQL引擎,客户端通过Rest服务接收传递查询的SQL语句;
步骤二:从缓存中获取查询结果;其中缓存基于Ehcache实现;
步骤三:将SQL语句通过语法树解析,语法增强后,构造Elasticsearch原生的查询语法;
步骤四:获取Elasticsearch查询结果,对查询结果进行数据增强,数据增加为在返回的基础上加入了元数据信息,使的数据的属性更加的清晰;将数据增强后的查询结果发送至客户端。
2.根据权利要求1所述的一种基于Elasticsearch的SQL使用方法,其特征在于,所述语法树为SQL的抽象语法结构树状,语法树上包括若干个节点,每个节点均表示SQL中的一种结构。
3.根据权利要求1所述的一种基于Elasticsearch的SQL使用方法,其特征在于,所述语法增强为在搜索条件中提取范围和增加同义词转化。
4.根据权利要求1所述的一种基于Elasticsearch的SQL使用方法,其特征在于,所述客户端内安装有注册登录单元、数据存储单元、数据采集单元和数据分析单元;所述注册单元用于用户提交注册信息进行注册并将注册成功的注册信息发送至数据存储单元内存储;其中注册信息包括用户的姓名、年龄、入职时间及眼睛预设轮廓和眼睛对应的客户端的预设距离;
所述数据采集单元用于采集用户访问客户端时眼睛轮廓并将其发送至数据分析单元,所述数据分析单元用于对用户的注册信息和访问客户端时眼睛轮廓进行分析,具体分析步骤为:
S1:将访问客户端时眼睛轮廓放大若干倍得到眼睛像素轮廓,将用户眼睛预设轮廓同样放大若干倍得到眼睛像素预设轮廓;
S2:选取眼睛像素轮廓和眼睛像素预设轮廓的中心点,将两者中心点重合;统计眼睛像素轮廓的像素格数量和眼睛像素预设轮廓的像素格数量,当眼睛像素轮廓的像素格数量大于眼睛像素预设轮廓的像素格数量时,将两者的差值标记为Y1;当眼睛像素轮廓的像素格数量小于眼睛像素预设轮廓的像素格数量时,将两者的差值标记为Y2;当眼睛像素轮廓的像素格数量等于眼睛像素预设轮廓的像素格数量时,将两者的差值标记为Y3;其中Y3的值等于零;
S3:设定用户的年龄为N1,将用户的入职时间与当前时间进行时间差计算获取得到用户的入职时长并标记为N2;
S4:将用户的年龄与入职时长进行去量化处理并取数值,利用公式N...
【专利技术属性】
技术研发人员:任新华,涂天佑,
申请(专利权)人:安徽新华博信息技术股份有限公司,
类型:发明
国别省市:安徽;34
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。