A foolproof Elasticsearch ORM framework that is easy to use, requires minimal coding, and is highly expandable...
您的Star是我继续前进的动力,如果喜欢EE请右上角帮忙点亮星星⭐!
easy-es官网 https://easy-es.cn/
easy-es官方gitcode https://gitcode.com/dromara/easy-es
easy-es官方gitee https://gitee.com/dromara/easy-es
easy-es官方github https://github.com/dromara/easy-es
开源社区dromara https://dromara.org/
开源社区码云首页 https://gitee.com/dromara/
Tip: 官网是vue单页面应用,首次访问加载可能比较慢🐢,主公们请耐心等待一下,后续会很快🏹,如偶遇打不开可刷新多尝试几次.
Easy-Es是一款简化ElasticSearch搜索引擎操作的开源框架,全自动智能索引托管.
目前功能丰富度和易用度及性能已全面领先SpringData-Elasticsearch.
简化CRUD
及其它高阶操作,可以更好的帮助开发者减轻开发负担
底层采用Es官方提供的RestHighLevelClient,保证其原生性能及拓展性.
技术讨论 QQ 群 :729148550 群内可在群文件中免费领取 颈椎保护 | 增肌 | 减脂 等健身计划 无套路
微信群请先添加作者微信,由作者拉入 (亦可咨询健身问题,作者是健身教练)
项目推广初期,还望大家能够不吝点点三连:⭐Star,👀Watch,fork📌
支持一下国产开源,让更多人看到和使用本项目,非常感谢!
需求:查询出文档标题为 "传统功夫"且作者为"码保国"的所有文档
// 使用Easy-Es仅需1行代码即可完成查询
List<Document> documents = documentMapper.selectList(EsWrappers.lambdaQuery(Document.class).eq(Document::getTitle, "传统功夫").eq(Document::getCreator, "码保国"));
// 传统方式, 直接用RestHighLevelClient进行查询 需要19行代码,还不包含下划线转驼峰,自定义字段处理及_id处理等代码
String indexName = "document";
SearchRequest searchRequest = new SearchRequest(indexName);
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
TermQueryBuilder titleTerm = QueryBuilders.termQuery("title", "传统功夫");
TermsQueryBuilder creatorTerm = QueryBuilders.termsQuery("creator", "码保国");
boolQueryBuilder.must(titleTerm);
boolQueryBuilder.must(creatorTerm);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(boolQueryBuilder);
searchRequest.source(searchSourceBuilder);
try {
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
List<Document> documents = Optional.ofNullable(searchResponse)
.map(SearchResponse::getHits)
.map(SearchHits::getHits)
.map(hit->Document document = JSON.parseObject(hit.getSourceAsString(),Document.class))
.collect(Collectors.toList());
} catch (IOException e) {
e.printStackTrace();
}
- 以上只是简单查询演示,实际使用场景越复杂,效果就越好,平均可节省至少3-8倍代码量
- 传统功夫,点到为止! 上述功能仅供演示,仅为Easy-Es支持功能的冰山一角,Easy-Es就是这么Easy到不讲武德💪,不用的请耗子尾汁.
Maven:
<dependency>
<groupId>org.dromara.easy-es</groupId>
<artifactId>easy-es-boot-starter</artifactId>
<version>Latest Version</version>
</dependency>
Gradle:
compile group: 'org.dromara.easy-es', name: 'easy-es-boot-starter', version: 'Latest Version'
Easy-Es是一个持续成长和精进的开源框架,感谢大家一路支持,也感谢多方平台多我们努力的认可,我们会继续努力,用更好的产品力回报每一位支持者!
欢迎提出更好的意见,帮助完善 Easy-Es
QQ | 微信:252645816
您的支持是鼓励我们前行的动力,无论金额多少都足够表达您这份心意。
如果您愿意捐赠本项目,推荐直接在右下方通过Gitee直接捐赠.
我们的广告投放商,如果您期望Easy-Es能够走得更远,不妨点击下图,支持一下我们的广告商Thanks♪(・ω・)ノ
如果您想支持我们,奈何囊中羞涩,没事,您可以花30秒借花献佛,点击下方链接进入注册,则该赞助商会代您捐赠一笔小钱给社区开发者们买包辣条。
老汉为社区量身打造的专属T恤,感兴趣的老板们可以点击下图链接了解详情