首页 > 编程语言 >推荐一个傻瓜级别的ElasticSearch搜索引擎开发框架,低代码很强大(带私活源码)

推荐一个傻瓜级别的ElasticSearch搜索引擎开发框架,低代码很强大(带私活源码)

时间:2024-06-13 19:33:04浏览次数:25  
标签:源码 ElasticSearch Es 开发 elasticsearch 私活 Document es

背景

众所周知,Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。

其功能的强大我们无所质疑,但是其API的的使用可谓难倒了众多小白。

为了解决大家使用门槛高的问题,今天给大家推荐一个开源的傻瓜级别的ElasticSearch搜索引擎开发框架:Easy-Es(简称EE)

图片

介绍

官网地址:https://www.easy-es.cn/

Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient 打造的低码开发框架。


这是一款在 RestHighLevelClient 的基础上只做增强不做改变,为简化开发、提高效率而生的开发框架。

如果您熟悉Mybatis-Plus(简称MP),那么可以直接上手EE,无需学习成本。

EE可以看作是MP的ElasticSearch版本,同时还融入了Es特有的功能,帮助您快速实现各种开发场景。

Easy-Es的理念是:

  • 把简单,易用,方便留给用户,把复杂留给框架

  • 让天下没有难用的Es, 致力于成为全球最受欢迎的ElasticSearch搜索引擎开发框架

可谓是最简单的设计,让您尽量用起来没有障碍感!

使用

Easy-Es作为一款轻巧强大、简单高效、功能丰富的框架,使用起来也是很方便。

1、引入依赖

        <!-- 引入easy-es最新版本的依赖-->
        <dependency>
            <groupId>org.dromara.easy-es</groupId>
            <artifactId>easy-es-boot-starter</artifactId>
            <!-- 这里Latest Version是指最新版本的依赖,比如2.0.0 -->
            <version>Latest Version</version>
        </dependency>

        <!-- 排除springboot中内置的es依赖,以防和easy-es中的依赖冲突-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.elasticsearch.client</groupId>
                    <artifactId>elasticsearch-rest-high-level-client</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.elasticsearch</groupId>
                    <artifactId>elasticsearch</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.14.0</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>7.14.0</version>
        </dependency>

2、配置

在 application.yml 配置文件中添加EasyEs必须的相关配置

easy-es:
  enable: true #默认为true,若为false则认为不启用本框架
  address : 127.0.0.1:9200 # es的连接地址,必须含端口 若为集群,则可以用逗号隔开 例如:127.0.0.1:9200,127.0.0.2:9200
  username: elastic #若无 则可省略此行配置
  password: WG7WVmuNMtM4GwNYkyWH #若无 则可省略此行配置

在 Spring Boot 启动类中添加 @EsMapperScan 注解,扫描 Mapper 文件夹:

@SpringBootApplication
@EsMapperScan("com.xpc.easyes.sample.mapper")
publicclass Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

3、开始使用

直接开始使用CURD

  @Test
    public void testInsert() {
        // 测试插入数据
        Document document = new Document();
        document.setTitle("老汉");
        document.setContent("技术过硬");
        int successCount = documentMapper.insert(document);
        System.out.println(successCount);
    }
    
    @Test
    public void testSelect() {
        // 测试查询 写法和MP一样 可以用链式,也可以非链式 根据使用习惯灵活选择即可
        String title = "老汉";
        Document document = EsWrappers.lambdaChainQuery(documentMapper)
                 .eq(Document::getTitle, title)
                 .one();
        System.out.println(document);
        Assert.assertEquals(title,document.getTitle());
    }
    
    @Test
    public void testUpdate() {
        LambdaEsUpdateWrapper<Document> wrapper = new LambdaEsUpdateWrapper<>();
        wrapper.eq(Document::getTitle,title1);
        Document document2 = new Document();
        document2.setTitle("隔壁老李");
        document2.setContent("技术过软");
        documentMapper.update(document2,wrapper);

        // 关于case2 还有另一种省略实体的简单写法,这里不演示,后面章节有介绍,语法与MP一致
    }
    @Test
    public void testDelete() {
        // 测试删除数据 删除有两种情况:根据id删或根据条件删
        // 鉴于根据id删过于简单,这里仅演示根据条件删,以老李的名义删,让老李心理平衡些
        LambdaEsQueryWrapper<Document> wrapper = new LambdaEsQueryWrapper<>();
        String title = "隔壁老李";
        wrapper.eq(Document::getTitle,title);
        int successCount = documentMapper.delete(wrapper);
        System.out.println(successCount);
    }

其他复杂使用就不一一展示了,可以直接去官网查看

总结

让天下没有难用的Es, 致力于成为全球最受欢迎的ElasticSearch搜索引擎开发框架。

这句话不仅是作者的愿景,更是我们开发的愿景。

在该愿景下的Easy-Es 足够让我们小白开发快速上手使用强大的搜索引擎ElasticSearch。

总的来说,Easy-Es把简单,易用,方便留给了我们,把复杂留给了自己。赶紧试试吧!!!

最后在贴上地址:

使用文档:https://www.easy-es.cn/

github代码:https://github.com/dromara/easy-es

gitee代码:https://gitee.com/dromara/easy-es

写在最后(私活源码)

今天还给大家分享一套基于Springboot+Vue二手平台管理系统源码,在实际项目中可以直接复用。(免费提供,文末自取)

一、系统运行图(设计报告和接口文档)

1、登陆页面

2、后台页面

3、设计报告包含接口文档

二、系统搭建视频教程


源码免费领取方式

扫码关注本号,回复 二手

扫码关注本号,回复 二手

持续关注本号,分享更多项目源码

分享一些关于学习Java编程方面的经验

Java是一种广泛应用于软件开发领域的编程语言,具有跨平台、面向对象等特点。在开发Java项目时,我们需要遵循一些基本原则和步骤,以确保项目的顺利进行和高质量的交付。本文将为您介绍如何开发Java项目的一般流程和注意事项。

1. 需求分析:在开始开发之前,我们需要与客户或项目组成员充分沟通,了解项目的需求和目标。明确项目的功能、性能、安全等方面的要求,以便后续的开发工作能够有针对性地进行。

2. 系统设计:在需求分析的基础上,我们需要进行系统设计。这包括确定项目的架构、模块划分、数据库设计等。合理的系统设计可以提高项目的可扩展性和可维护性。

3. 编码实现:根据系统设计的结果,我们开始进行编码实现。在编写代码时,我们应该遵循良好的编码规范和设计原则,保证代码的可读性和可维护性。同时,我们也可以利用一些常用的开发框架和工具来提高开发效率。

4. 单元测试:在编码完成后,我们需要进行单元测试。通过编写测试用例,对每个模块进行测试,以确保代码的正确性和稳定性。单元测试可以帮助我们及早发现和修复潜在的问题。

5. 集成与部署:当所有模块都通过了单元测试后,我们需要进行集成测试。将各个模块组合起来,并进行整体的功能测试和性能测试。在测试通过后,我们可以将项目部署到生产环境中,供用户使用。

6. 维护与优化:项目上线后,并不意味着开发工作的结束。我们需要持续关注项目的运行情况,及时修复bug,并根据用户反馈进行功能优化和性能优化。这样可以提高项目的稳定性和用户体验。

Java项目开发是一个复杂而又有挑战性的过程,但只要我们按照以上步骤进行,就能够有效地提高开发效率和项目质量。同时,我们也应该不断学习和掌握新的技术和工具,以跟上行业的发展和变化。希望本文对您在Java项目开发方面有所帮助!

 

标签:源码,ElasticSearch,Es,开发,elasticsearch,私活,Document,es
From: https://blog.csdn.net/m0_68103666/article/details/139634962

相关文章

  • es源码启动
    通过这篇文章,了解ES如何源码启动、如何定位对应请求的实现类。1.准备环境Jdk:17Es:7.17IDEA:2024.1Gradle:8.7安装jdk、idea下载es源码:(我从github下载的7.17.8的代码)https://github.com/elastic/elasticsearch或者:https://gitee.com/mirrors/elastic......
  • 【java计算机毕设】图书管理系统javaweb java MySQL springboot vue html maven送文档
    1项目功能【java计算机专业学长毕业设计分享】智慧图书管理系统JavaSpringBootvueHTMLMySQL前后端分离2项目介绍系统功能:智慧图书管理系统包括管理员和用户两种角色。管理员的功能包括在个人中心修改个人信息和密码,管理员功能模块管理管理员。基础数据管理模......
  • 海外一对一视频聊天APP开发搭建源码方案
    国际版1v1视频交友APP的基础功能和搭建应用程序的考虑方面,以下是进一步的分析和建议:一、基础功能优化建议注册和登录系统:简化流程:减少不必要的步骤,使注册和登录更加快速。第三方登录支持:增加对主流社交平台的登录支持,方便用户快速注册。用户验证:加强手机或邮箱验证,提高用户......
  • 语音厅语音房APP开发砸蛋社交源码软件搭建开发
    开发语音厅语音房软件确实是一项复杂且专业的任务,需要综合考虑市场需求、功能需求、技术选型、界面设计、开发工作、测试优化以及上线维护等多个方面。以下是针对您提供的内容的详细展开:一、市场需求分析进行语音厅语音房软件的开发前,首先需要对市场进行深入的调研,了解当前......
  • 情趣商城成人用品小程序APP开发源码搭建
    搭建成人情趣用品商城APP小程序是一个需要综合考虑多方面因素的复杂过程。下面,我将详细为您分析搭建过程中需要特别注意的几个关键点,并给出一些建议,以帮助您更好地规划和实施这个项目。一、市场定位与用户需求首先,您需要明确您的市场定位和目标用户群体。情趣用品市场有其特......
  • 医院设备管理系统的设计与实现 毕业设计-附源码39673
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,医院当然也不能排除在外。医院设备管理系统是以实际运用为开发背景,运用软件工程开发方法,采用SSM技术构建的一个管理系统。整个开发过程首先对软件系统进行......
  • springboot SSM 宠物医院管理系统(源码+论文)
    绪论1.1计算机管理信息系统的发展情况1958年美国首先提出了“管理信息系统”(即MIS:ManagementInformationSystems),从而也引出了另外一个概念——“管理信息系统”。综合其多种定义以及根据在实际中的应用,管理信息系统可以定义为是一个由人、计算机系统等组成的,能进行......
  • SpringBoot问卷管理系统-计算机毕业设计源码71781
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,问卷调查当然也不例外。问卷管理系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统进行......
  • SpringBoot问卷管理系统-计算机毕业设计源码71781
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,问卷调查当然也不例外。问卷管理系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统进行......
  • 微信小程序毕业设计-打印室预约系统项目开发实战(附源码+演示视频+LW)
    大家好!我是岛上程序猿,感谢您阅读本文,欢迎一键三连哦。......