EsearchX Elasticsearch ORM 框架开源项目

我要开发同款
匿名用户2021年10月26日
179阅读

技术信息

开源地址
https://gitee.com/noear/esearchx
授权协议
Apache

作品详情

EsearchXforjava基于okhttp+sack3开发,是一个代码直白和简单的ElasticsearchORM框架

项目里有3个关键的对象概念:

执行上下文查询器命令支持自动序列化和反序列化,以及批量插入、批量更新;脚本查询、聚合查询。

快速入门:publicclassDemoApp{StrigtableCreateDsl="...";publicvoiddemo(){EsCotextesx=ewEsCotext("localhost:30480");//创建索引esx.idiceCreate("user_log_20200101",tableCreateDsl);esx.idiceCreate("user_log_20200102",tableCreateDsl);esx.idiceCreate("user_log_20200103",tableCreateDsl);//构建索引别名esx.idiceAliases(a->a.add("user_log_20200101","user_log").add("user_log_20200102","user_log").add("user_log_20200103","user_log"));//删除索引(如果存在就删了;当然也可以直接删)if(esx.idiceExist("user_log_20200101")){esx.idiceDrop("user_log_20200101");}//批量插入List<LogDo>list=ewArrayList<>();list.add(ewLogDo());esx.idice("user_log").isertList(list);//批量插入或更新Map<Strig,LogDo>list=ewLikedHashMap<>();list.put("...",ewLogDo());esx.idice("user_log").upsertList(list);//一个简单的查询LogDoresult=esx.idice("user_log").selectById("1");//一个带条件的查询EsData<LogDo>result=esx.idice("user_log").where(r->r.term("level",5)).orderByDesc("log_id").limit(50).selectList(LogDo.class);//一个复杂些的查询EsData<LogDo>result=esx.idice(idice).where(c->c.useScore().must().term("tag","list1").rage("level",r->r.gt(3))).orderByAsc("level").adByAsc("log_id").miScore(1).limit(50,50).selectList(LogDo.class);//脚本查询EsData<LogDo>result=esx.idice(idice).where(c->c.script("doc['tag'].value.legth()>=params.le",p->p.set("le",2))).limit(10).selectList(LogDo.class);//聚合查询ONoderesult=esx.idice(idice).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();}}

功能介绍

EsearchX for java 基于 okhttp + snack3 开发,是一个代码直白和简单的 Elasticsearch ORM 框架 项目里有3个关键的对象概念: 执行上下文 查询器...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论