1 Star 0 Fork 1.5K

zhangpeng_jpa / easy-es

forked from dromara / easy-es 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 5.27 KB
一键复制 编辑 原始数据 按行查看 历史
elasticsearch 提交于 2022-03-24 10:39 . update README.md.

East-Es-Logo

为简化开发工作、提高生产效率而生

maven code style

简介 | Intro


Easy-Es是一款简化ElasticSearch搜索引擎操作的开源框架,简化CRUD操作,可以更好的帮助开发者减轻开发负担

底层采用Es官方提供的RestHighLevelClient,保证其原生性能及拓展性.

技术讨论 QQ 群 :247637156 群内可免费领取 颈椎保护 | 增肌 | 减脂 等健身计划

微信群请先添加作者微信,由作者拉入 (亦可咨询健身问题,作者是健身教练)

项目推广初期,还望大家能够不吝点点三连:⭐Star,👀Watch,fork📌

支持一下国产开源,让更多人看到和使用本项目,非常感谢!

优点 | Advantages


  • 屏蔽语言差异: 开发者只需要会MySQL语法即可使用Es

  • 代码量极少: 与直接使用RestHighLevelClient相比,相同的查询平均可以节3-5倍左右的代码量

  • 零魔法值: 字段名称直接从实体中获取,无需输入字段名称字符串这种魔法值

  • 零额外学习成本: 开发者只要会国内最受欢迎的Mybatis-Plus语法,即可无缝迁移至Easy-Es

  • 降低开发者门槛: 即便是只了解ES基础的初学者也可以轻松驾驭ES完成绝大多数需求的开发

  • 功能强大: 支持MySQL的几乎全部功能,且对ES特有的分词,权重,高亮,地理位置Geo等功能都支持

  • 完善的中英文文档: 提供了中英文双语操作文档,文档全面可靠,帮助您节省更多时间

  • ...

对比 | Compare


需求:查询出文档标题为 "中国功夫"且作者为"老汉"的所有文档

    // 使用Easy-Es仅需3行代码即可完成查询
    LambdaEsQueryWrapper<Document> wrapper = new LambdaEsQueryWrapper<>();
    wrapper.eq(Document::getTitle, "中国功夫").eq(Document::getCreator, "老汉");
    List<Document> documents = documentMapper.selectList(wrapper);
    // 传统方式, 直接用RestHighLevelClient进行查询 需要11行代码,还不包含解析JSON代码
    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);
         // 然后从searchResponse中通过各种方式解析出DocumentList 省略这些代码...
        } catch (IOException e) {
            e.printStackTrace();
        }
  • 以上只是简单查询演示,实际使用场景越复杂,效果就越好,平均可节省3-5倍代码量
  • 传统功夫,点到为止! 上述功能仅供演示,仅为Easy-Es支持功能的冰山一角

官网地址 | Official website


easy-es官网 https://easy-es.cn

开源社区dromara https://dromara.org

开源社区码云首页 https://gitee.com/dromara

相关链接 | Links


Latest Version: Maven Central


Maven:

<dependency>
    <groupId>io.github.xpc1024</groupId>
    <artifactId>easy-es-boot-starter</artifactId>
    <version>Latest Version</version>
</dependency>

Gradle:

compile group: 'io.github.xpc1024', name: 'easy-es-boot-starter', version: 'Latest Version'

其他开源项目 | Other Project


期望 | Futures


欢迎提出更好的意见,帮助完善 Easy-Es

版权 | License


Apache License 2.0

捐赠 | Donate


捐赠记录,感谢你们的支持!

您的支持是鼓励我们前行的动力,无论金额多少都足够表达您这份心意。

如果您愿意捐赠本项目,推荐直接在右下方通过Gitee直接捐赠.

关注我 | About Me


CSDN博客

QQ | 微信:252645816

Java
1
https://gitee.com/zhangpeng_jpa/easy-es.git
git@gitee.com:zhangpeng_jpa/easy-es.git
zhangpeng_jpa
easy-es
easy-es
master

搜索帮助