<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Easy-Es傻瓜級(jí) ElasticSearch 搜索引擎 ORM 框架

          聯(lián)合創(chuàng)作 · 2023-09-29 03:10

          為簡(jiǎn)化開發(fā)工作、提高生產(chǎn)效率而生

          Easy-Es是一款簡(jiǎn)化 ElasticSearch 搜索引擎操作的開源框架,全自動(dòng)智能索引托管。

          目前功能豐富度和易用度及性能已全面領(lǐng)先SpringData-Elasticsearch.

          簡(jiǎn)化CRUD及其它高階操作,可以更好的幫助開發(fā)者減輕開發(fā)負(fù)擔(dān)

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

          項(xiàng)目推廣初期,還望大家能夠不吝點(diǎn)點(diǎn)三連:?Star,??Watch,fork??

          支持一下國(guó)產(chǎn)開源,讓更多人看到和使用本項(xiàng)目,非常感謝!

          優(yōu)點(diǎn) | Advantages


          • 全自動(dòng)索引托管: 全球開源首創(chuàng)的索引托管模式,開發(fā)者無(wú)需關(guān)心索引的創(chuàng)建更新及數(shù)據(jù)遷移等繁瑣步驟,索引全生命周期皆可托管給框架,由框架自動(dòng)完成,過(guò)程零停機(jī),用戶無(wú)感知,徹底解放開發(fā)者
          • 屏蔽語(yǔ)言差異: 開發(fā)者只需要會(huì)MySQL語(yǔ)法即可使用Es
          • 代碼量極少: 與直接使用RestHighLevelClient相比,相同的查詢平均可以節(jié)3-8倍左右的代碼量
          • 零魔法值: 字段名稱直接從實(shí)體中獲取,無(wú)需輸入字段名稱字符串這種魔法值
          • 零額外學(xué)習(xí)成本: 開發(fā)者只要會(huì)國(guó)內(nèi)最受歡迎的Mybatis-Plus語(yǔ)法,即可無(wú)縫遷移至Easy-Es
          • 降低開發(fā)者門檻: 即便是只了解ES基礎(chǔ)的初學(xué)者也可以輕松駕馭ES完成絕大多數(shù)需求的開發(fā)
          • 功能強(qiáng)大: 支持MySQL的幾乎全部功能,且對(duì)ES特有的分詞,權(quán)重,高亮,嵌套,地理位置Geo,Ip地址查詢等功能都支持
          • 安全可靠: 墨菲安全掃描零風(fēng)險(xiǎn),且代碼單元測(cè)試綜合覆蓋率高達(dá)95%以上.
          • 完善的中英文文檔: 提供了中英文雙語(yǔ)操作文檔,文檔全面可靠,幫助您節(jié)省更多時(shí)間
          • ...

          對(duì)比 | Compare


          需求:查詢出文檔標(biāo)題為 "傳統(tǒng)功夫"且作者為"碼保國(guó)"的所有文檔

              // 使用Easy-Es僅需1行代碼即可完成查詢
              List<Document> documents = documentMapper.selectList(EsWrappers.lambdaQuery(Document.class).eq(Document::getTitle, "傳統(tǒng)功夫").eq(Document::getCreator, "碼保國(guó)"));
          
              // 傳統(tǒng)方式, 直接用RestHighLevelClient進(jìn)行查詢 需要19行代碼,還不包含下劃線轉(zhuǎn)駝峰,自定義字段處理及_id處理等代碼
              String indexName = "document";
              SearchRequest searchRequest = new SearchRequest(indexName);
              BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
              TermQueryBuilder titleTerm = QueryBuilders.termQuery("title""傳統(tǒng)功夫");
              TermsQueryBuilder creatorTerm = QueryBuilders.termsQuery("creator""碼保國(guó)");
              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();
                  }
          
           
          • 以上只是簡(jiǎn)單查詢演示,實(shí)際使用場(chǎng)景越復(fù)雜,效果就越好,平均可節(jié)省至少3-8倍代碼量
          • 傳統(tǒng)功夫,點(diǎn)到為止! 上述功能僅供演示,僅為Easy-Es支持功能的冰山一角,Easy-Es就是這么Easy到不講武德??,不用的請(qǐng)耗子尾汁.

          官網(wǎng)地址 | Official website


          easy-es官網(wǎng) https://easy-es.cn/

          開源社區(qū)dromara https://dromara.org/

          開源社區(qū)碼云首頁(yè) https://gitee.com/dromara/

          Tip: 官網(wǎng)是vue單頁(yè)面應(yīng)用,首次訪問加載可能比較慢??,主公們請(qǐng)耐心等待一下,后續(xù)會(huì)很快??,如偶遇打不開可刷新多嘗試幾次.

          架構(gòu) | Architecture


          Architecture

          相關(guān)鏈接 | Links


          Latest Version: Maven Central


          Maven:

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

          Gradle:

          compile group: 'cn.easy-es', name: 'easy-es-boot-starter', version: 'Latest Version'
          

          其他開源項(xiàng)目 | Other Project


          期望 | Futures


          歡迎提出更好的意見,幫助完善 Easy-Es

          版權(quán) | License


          Apache License 2.0

          捐贈(zèng) | Donate


          捐贈(zèng)記錄,感謝你們的支持!

          您的支持是鼓勵(lì)我們前行的動(dòng)力,無(wú)論金額多少都足夠表達(dá)您這份心意。

          如果您愿意捐贈(zèng)本項(xiàng)目,推薦直接在右下方通過(guò)Gitee直接捐贈(zèng).

          關(guān)注我 | About Me


          CSDN博客

          瀏覽 32
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一级片视频在线观看 | 日韩精品高线在线观看 | 在线五区| 成人中文字幕在线 | 久久很很 |