早年封装的java es jpa api 网关代理项目

https://github.com/cclient/spring-boot-es-jpa-proxy

项目很老了,最近有新的类似工作,因此又翻了出来

2016年的es查询半调研半过渡的项目

当时es版本2.3,尝试用java封装es的各种查询和聚合逻辑

用java的成本,开始作前就已有预料,真作,还是觉得太折腾

es查询,说白了就是拼各种json查询条件

java和go这种强类型的语言直接操作json还是太过痛苦

用es原生api吧,不直观(作不到直接把json拷来拷去直接测试)

把json字符串,大量的放在java代码里,不伦不类

相比tcp的那点效率,不值得付出如此多的开发成本

完成部分功能后,后期全改用nodejs重写

主要功能

1 ik elasticsearch plugin 动态更新词库api

2 sql数据->行业词典文件生成

3 部分数据sql->es 索引+更新

4 部分查询+聚合api

当时尝试用java作的原因有几点

1 一直想用spring-boot,算是以此为引子作个探索和学习

2 其他语言的大部分都只是通过http接口,没有java直接走tcp高效

3 其他语言部分特性支持不全,会碰到各种小问题,印象中python的包访问集群某个参数就不生效

最主要的原因是想用spring-boot,虽然这个项目没有一直坚持下去

但用这里的经验后期把大部分java项目,spring-boot+docker+kubernate微服务化,也算没白费时间

把冗余的大量代码去了,姑且还能算是sprint-boot+jpa+es的demo项目,个人调研,所以代码比较粗糙

备注

项目中 mybatis 只是为了自动生成实体类用的,实际访问只用jpa,个人非常讨厌mybatis的项目

mybatis 出活快,但不加约束规范,时间越久,代码会越来越难看,见过一个项目,三种不同风格的mybatis,也是服了

jsp页面和如今前后端分离相比完全落伍,当时也只展示几个页面,这也是最后一个带后端渲染的项目,保留算是个纪念

posted @ 2021-03-24 21:04  cclient  阅读(43)  评论(0编辑  收藏  举报