MyBatis-Plus 同款 ES ORM框架,用起来就是方便!


大家好,我是爱学习的了不起!

ES全称ElasticSearch,是一个基于Lucene的搜索服务器,高度可拓展的开源全文搜索和分析引擎,可用于快速的对大数据进行存储,搜索和分析。但是 ES 的 API 使用还是比较难的。

今天给大家推荐一个使用简单功能强大的ORM开发框架 – Easy-Es。

项目简介

Easy-Es 是在RestHighLevelClient 基础上做的增强,目的是简化开发,和 我们熟悉的 MyBatis 使用方式差不多。

  • 强大的增删改查操作:使用 Mapper实现各种增删改查
  • 学习成本小:不需要学习 ES 的语法,会Mybatis语法,学习Easy-Es 很快。
  • 支持 Lambda表达式:使用起来更方便,代码量更少!

项目架构

项目使用

前置条件是安装了Es,我这里演示的 ES 版本是 7.17.10

引入依赖

1
2
3
4
5
<dependency>
<groupId>org.dromara.easy-es</groupId>
<artifactId>easy-es-boot-starter</artifactId>
<version>2.0.0-beta2</version>
</dependency>

添加配置

1
2
3
easy-es:
enable: true #true启用easy-es
address : 127.0.0.1:9200 # es的连接地址

简单使用

创建实体类:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Data
public class Goods {

//商品ID
private String id ;

//名称
private String name;

//描述
private String description;

//价格
private Double price;
}

创建mapper类:

1
2
public interface GoodsMapper extends BaseEsMapper<Goods> {
}

单元测试:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@Test
public void insert() {

Goods goods = new Goods();
goods.setId(UUID.randomUUID().toString());
goods.setName("手机 HUAWEI P60 Pro");
goods.setDescription("超可靠昆仑玻璃,玲珑四曲屏 | 双向北斗卫星消息,灵犀通信");
int successCount = goodsMapper.insert(goods);
System.out.println(successCount);
}


@Test
public void select() {
String name = "手机";
LambdaEsQueryWrapper<Goods> wrapper = new LambdaEsQueryWrapper<>();
wrapper.like(Goods::getName, name)
.limit(10);
List<Goods> goods = goodsMapper.selectList(wrapper);
System.out.println(goods);
}

查询结果:

[Goods(id=C6nfYIgBkdGiypq6p7jb, name=手机 HUAWEI P60 Pro, description=超可靠昆仑玻璃,玲珑四曲屏 | 双向北斗卫星消息,灵犀通信, price=null)]

项目地址

1
github:https://github.com/dromara/easy-es

总结

Easy-Es 能我们快速上手使用 ElasticSearch, API 操作非常简单,不需要额外的学习成本,只要能了解 ES 的入门知识,即可快速应用起来,感兴趣的同学赶快去试试吧~

写在最后

欢迎加入开源小分队读者交流群,不定时会分享一些技术要点和优质学习资源,有一群有趣有料的小伙伴在等你哦!

进群方式:公众号后台回复888,按提示操作即可进群。

问君能有几多愁,开源项目解千愁,我们下期再见!

大家的点赞、收藏和评论对了不起非常重要,如文章对你有帮助还请转发支持下,谢谢!


  目录