亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

《開源精選》是我們分享Github、Gitee等開源社區中優質項目的欄目,包括技術、學習、實用與各種有趣的內容。本期推薦的 Easy-Es是一款簡化ElasticSearch搜索引擎操作的開源框架,簡化CRUD操作,可以更好的幫助開發者減輕開發負擔。

Easy-Es簡化ElasticSearch搜索引擎操作的開源框架

 

項目簡介

Easy-Es(簡稱EE)是一款基于ElasticSearch(簡稱Es)官方提供的RestHighLevelClient打造的低碼開發框架,在 RestHighLevelClient 的基礎上,只做增強不做改變,為簡化開發、提高效率而生,您如果有用過Mybatis-Plus(簡稱MP),那么您基本可以零學習成本直接上手EE,EE是MP的Es平替版,同時也融入了更多Es獨有的功能,助力您快速實現各種場景的開發。

項目特性

  • 無侵入:只做增強不做改變,引入它不會對現有工程產生影響,如絲般順滑
  • 損耗小:啟動即會自動注入基本 CURD,性能基本無損耗,直接面向對象操作
  • 強大的 CRUD 操作:內置通用 MApper,僅僅通過少量配置即可實現大部分 CRUD 操作,更有強大的條件構造器,滿足各類使用需求
  • 支持 Lambda 形式調用:通過 Lambda 表達式,方便的編寫各類查詢條件,無需再擔心字段寫錯段
  • 支持主鍵自動生成:支持2 種主鍵策略,可自由配置,完美解決主鍵問題
  • 支持 ActiveRecord 模式:支持 ActiveRecord 形式調用,實體類只需繼承 Model 類即可進行強大的 CRUD 操作
  • 支持自定義全局通用操作:支持全局通用方法注入( Write once, use anywhere )
  • 內置分頁插件:基于RestHighLevelClient 物理分頁,開發者無需關心具體操作,且無需額外配置插件,寫分頁等同于普通 List 查詢,且保持和PageHelper插件同樣的分頁返回字段,無需擔心命名影響
  • MySQL功能全覆蓋: MySQL中支持的功能通過EE都可以輕松實現
  • 支持ES高階語法: 支持高亮搜索,分詞查詢,權重查詢,聚合查詢等高階語法
  • 良好的拓展性:底層仍使用RestHighLevelClient,可保持其拓展性,開發者在使用EE的同時,仍可使用RestHighLevelClient的功能

快速開始

添加依賴

        <dependency>
            <groupId>com.xpc</groupId>
            <artifactId>easy-es-boot-starter</artifactId>
            <version>Latest Version</version>
        </dependency>

Gradle:

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

配置

在 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 #若無 則可省略此行配置

其它配置暫可省略,后面有章節詳細介紹EasyEs的配置

在 Spring Boot 啟動類中添加 @EsMapperScan 注解,掃描 Mapper 文件夾:

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

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

}

高階語法

排序

針對字段的排序,支持升序排序和降序排序:

// 降序排列
wrapper.orderByDesc(排序字段,支持多字段)
// 升序排列
wrapper.orderByAsc(排序字段,支持多字段)

使用示例:

    @Test
    public void testSort(){
        // 測試排序 為了測試排序,我們在Document對象中新增了創建時間字段,更新了索引,并新增了兩條數據
        LambdaEsQueryWrapper<Document> wrapper = new LambdaEsQueryWrapper<>();
        wrapper.likeRight(Document::getContent,"1111");
        wrapper.select(Document::getTitle,Document::getGmtCreate);
        List<Document> before = documentMapper.selectList(wrapper);
        System.out.println("before:"+before);
        wrapper.orderByDesc(Document::getGmtCreate);
        List<Document> desc = documentMapper.selectList(wrapper);
        System.out.println("desc:"+desc);
    }

高亮查詢

// 不指定高亮標簽,默認采用<em></em>返回高亮內容
highLight(高亮字段);
// 指定高亮標簽
highLight(高亮字段,開始標簽,結束標簽)
    @Test
    public void testHighlight() throws IOException {
        LambdaEsQueryWrapper<Document> wrapper = new LambdaEsQueryWrapper<>();
        String keyword = "11111";
        wrapper.match(Document::getContent,keyword);
        wrapper.highLight(Document::getContent);
        SearchResponse response = documentMapper.search(wrapper);
        System.out.println(response);
    }

更多內容:https://gitee.com/easy-es/easy-es

分享到:
標簽:Easy Es
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定