Gitee热榜第一|让你像操作SQL一样操作ES

作者:烧鸡太子爷

最近几个恒生的小伙伴(弱弱的说一下,笔者也有幸参与了这个项目)在gitee上发布了一款开源的框架Easy-ES

在这里插入图片描述

凭借其领先的框架和理念设计,一经发布就获得了gitee官方的推荐,一度冲到了热度榜的第一,持续多天以后还是保持在第一的位置。

简介

Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient打造的低码开发框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生,您如果有用过Mybatis-Plus(简称MP),那么您基本可以零学习成本直接上手EE,EE是MP的Es平替版,同时也融入了更多Es独有的功能,助力您快速实现各种场景的开发。

作者也期望将这款框架打造成为全球最受欢迎的ElasticSearch搜索引擎开发框架。

优势

  • 屏蔽语言差异 :开发者只需要会MySQL语法即可使用Es,真正做到一通百通,无需学习枯燥易忘的Es语法,Es使用相对MySQL较低频,学了长期不用也会忘,没必要浪费这时间.开发就应该专注于业务,省下的时间去撸铁,去陪女朋友陪家人,不做资本家的韭菜
  • 代码量极少 : 与直接使用RestHighLevelClient相比,相同的查询平均可以节省3-5倍左右的代码量
  • 零魔法值 :字段名称直接从实体中获取,无需输入字段名称字符串这种魔法值,提高代码可读性,杜绝因字段名称修改而代码漏改带来的Bug
  • 零额外学习成本 :开发者只要会国内最受欢迎的Mybatis-Plus语法,即可无缝迁移至EE,EE采用和前者相同的语法,消除使用者额外学习成本,直接上手,爽
  • 降低开发者门槛 : Es通常需要中高级开发者才能驾驭,但通过接入EE,即便是只了解ES基础的初学者也可以轻松驾驭ES完成绝大多数需求的开发,可以提高人员利用率,降低企业成本

特性

  • 无侵入 :只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
  • 损耗小 :启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
  • 强大的 CRUD 操作 :内置通用 Mapper,仅仅通过少量配置即可实现大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
  • 支持 Lambda 形式调用 :通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错段
  • 支持主键自动生成 :支持2 种主键策略,可自由配置,完美解决主键问题
  • 支持 ActiveRecord 模式 :支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
  • 支持自定义全局通用操作 :支持全局通用方法注入( Write once, use anywhere )
  • 内置分页插件 :基于RestHighLevelClient 物理分页,开发者无需关心具体操作,且无需额外配置插件,写分页等同于普通 List 查询,且保持和PageHelper插件同样的分页返回字段,无需担心命名影响
  • MySQL功能全覆盖 : MySQL中支持的功能通过EE都可以轻松实现
  • 支持ES高阶语法 : 支持高亮搜索,分词查询,权重查询,聚合查询等高阶语法
  • 良好的拓展性 :底层仍使用RestHighLevelClient,可保持其拓展性,开发者在使用EE的同时,仍可使用RestHighLevelClient的功能

框架结构

在这里插入图片描述

源码下载

我们通过maven或者Gradle就可以引入相关的框架包,有兴趣的可以直接到gitee上查看源码哦,里面有更加详细的介绍:

https://gitee.com/easy-es/easy-es

猜你喜欢

转载自blog.csdn.net/weixin_44433834/article/details/123127560