Elasticsearch ORM フレームワーク、EsearchX v1.0.22 をリリース

EsearchX for Java は、簡単でシンプルな Elasticsearch ORM フレームワークである okhttp + snap3 に基づいて開発されています。

  • jdk8、jdk11、jdk17、jdk20をサポート
  • es7.x、es8.xをサポート
  • ラムダ連鎖書き込み方式を採用しており、とても爽快です
public class DemoApp {
    public void demo() {
        EsContext esx = new EsContext("localhost:30480");
  
        //批量插入
        List<LogDo> list = new ArrayList<>();
        list.add(new LogDo());
        esx.indice("user_log").insertList(list);
        
        //一个简单的查询
        LogDo result = esx.indice("user_log").selectById(LogDo.class, "1");
        
        //一个略复杂些的查询
        EsData<LogDo> result = esx.indice(indice)
                .where(c -> c.useScore().must()
                        .term("tag", "list1")
                        .range("level", r -> r.gt(3)))
                .orderByAsc("level")
                .andByAsc("log_id")
                .minScore(1)
                .limit(50, 50)
                .selectList(LogDo.class);
    } 
}

この更新:

  • スナックは次のようにアップグレードされます: 3.2.66
  • EsAggs はエイリアスのサポートを追加します
ONode oNode = context.indice(indice)
                .where(c -> c.range("grade", r -> r.gte(3)))
                .limit(0)
                .aggs(a -> a.min("grade", "grade")) //别名
                .selectAggs();

long gradeMin = oNode.get("grade").get("value").getLong();       

プロジェクト リポジトリ:

 

おすすめ

転載: www.oschina.net/news/240087/esearchx-1-0-22-released