EsearchXElasticsearch ORM 框架
EsearchX for java
基于 okhttp + snack3 开发,是一个代码直白和简单的 Elasticsearch ORM 框架
项目里有3个关键的对象概念:
- 执行上下文
- 查询器
- 命令
支持自动序列化和反序列化,以及批量插入、批量更新;脚本查询、聚合查询。
快速入门:
public class DemoApp { String tableCreateDsl = "..."; public void demo() { EsContext esx = new EsContext("localhost:30480"); //创建索引 esx.indiceCreate("user_log_20200101", tableCreateDsl); esx.indiceCreate("user_log_20200102", tableCreateDsl); esx.indiceCreate("user_log_20200103", tableCreateDsl); //构建索引别名 esx.indiceAliases(a -> a .add("user_log_20200101", "user_log") .add("user_log_20200102", "user_log") .add("user_log_20200103", "user_log")); //删除索引(如果存在就删了;当然也可以直接删) if (esx.indiceExist("user_log_20200101")) { esx.indiceDrop("user_log_20200101"); } //批量插入 List<LogDo> list = new ArrayList<>(); list.add(new LogDo()); esx.indice("user_log").insertList(list); //批量插入或更新 Map<String, LogDo> list = new LinkedHashMap<>(); list.put("...",new LogDo()); esx.indice("user_log").upsertList(list); //一个简单的查询 LogDo result = esx.indice("user_log").selectById("1"); //一个带条件的查询 EsData<LogDo> result = esx.indice("user_log") .where(r -> r.term("level", 5)) .orderByDesc("log_id") .limit(50) .selectList(LogDo.class); //一个复杂些的查询 EsData<LogDo> result = esx.indice(indice) .where(c -> c.useScore().must() .term("tag", "list1") .range("level", r -> r.gt(3))) .orderByAsc("level") .andByAsc("log_id") .minScore(1) .limit(50, 50) .selectList(LogDo.class); //脚本查询 EsData<LogDo> result = esx.indice(indice) .where(c -> c.script("doc['tag'].value.length() >= params.len", p->p.set("len",2))) .limit(10) .selectList(LogDo.class); //聚合查询 ONode result = esx.indice(indice) .where(w->w.term("tag","list1")) .limit(0) .aggs(a -> a.terms("level", t -> t.size(20)) .aggs(a1 -> a1.topHits(2, s -> s.addByAes("log_fulltime")))) .selectAggs(); } }
评论
spring-db-templateJava ORM 框架
1.极·简化DAO操作,大幅度提高编码效率;2.支持自定义SQL,自动映射;3.支持Redis缓存和内存缓存,自动更新缓存;5.支持MyBatis示例Booleansuccess=UserFastDa
spring-db-templateJava ORM 框架
0
QuickDAOJava ORM 框架
QuickDAOQuickDAO是一款简单,易用,轻量级的javaORM框架.目前支持Mysql,SQlite以及H2数据库.SpringBoot环境下由于类加载器问题请慎用,可能会导致未知问题出现!
QuickDAOJava ORM 框架
0
SqlFlyJava ORM 框架
SqlFly是一个好用的Java语言orm框架。特点对内将jdbc繁琐步骤进行封装,并对外提供简洁好用的API自动将查询结果集映射到实体类中,可以让你完全脱离对ResultSet的操作,贴心省事内置了
SqlFlyJava ORM 框架
0
ebatisElasticsearch ORM 框架
ebatis 是一个简单方便上手的ElasticsearchORM框架。ebatis基于JavaHighLevelRESTClient开发,采用和MyBatis类似思想,只需要定义接口,便可访问Ela
ebatisElasticsearch ORM 框架
0