zoukankan      html  css  js  c++  java
  • 早年封装的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页面和如今前后端分离相比完全落伍,当时也只展示几个页面,这也是最后一个带后端渲染的项目,保留算是个纪念

  • 相关阅读:
    HTML5标签变化
    接口测试基础入门学习
    1.1Axure简介
    win 7命令行大全
    程序集强签名
    源代码的文件头格式化
    redmine2.3环境搭建
    静态成员和方法的使用场合及利弊分析
    .Net Memory Profiler入门
    TransactionScope类
  • 原文地址:https://www.cnblogs.com/zihunqingxin/p/14575132.html
Copyright © 2011-2022 走看看