EsearchX for java 是基于 okhttp + snack3 开发的,一个代码直白和简单的 Elasticsearch ORM 框架。
- 支持 jdk8、jdk11、jdk17、jdk19
- 支持 es7.x、es8.x
- 采用 lambda 链式写法,很是清新
public class DemoApp {
public void demo() {
EsContext esx = new EsContext("localhost:30480");
//批量插入
List<LogDo> list = new ArrayList<>();
list.add(new LogDo());
esx.indice("user_log").insertList(list);
//一个简单的查询
LogDo result = esx.indice("user_log").selectById(LogDo.class, "1");
//一个略复杂些的查询
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);
}
}
本次更新:
- snack 升级为:3.2.45
- 增加 nested 语法支持
- 增加 sql 接口支持(需要 es 安装 sql 支持扩展)
- 增加 json 化选项控制支持
- 增加 10000 条数限制处理,免得跑傻了
- 增加 输出高亮支持
- 增加 超时控制支持
- 强化 ES8 兼容支持
项目仓库:
- gitee: https://gitee.com/noear/esearchx
- github: https://github.com/noear/esearchx