elasticsearch学习笔记——三 java代码与kibana dsl查询es索引数据

查询逻辑:
serialnumber为1232041022或者 1453544213 或者1100422310 并且 appeartime在[1619366427001,1619366553000]之间。数据按照appeartime倒序排列。然后取出0~9号数据(分页0号页码,10个)

(serialnumber=‘1232041022’||serialnumber='1453544213 '||serialnumber='1100422310 ') && (appeartime.gte1619366427001,lte1619366553000)

|| &&为bool运算符,使用dsl查询中bool关键字should,must。
java代码实现:

/**
     * 查询serialnumber在三个之中的数据 1232041022 1453544213 1100422310
     * 查询appeartime在 [1619366427001,1619366553000] 的数据
     * 加上分页0,10;
     * 加上按时间倒序
     */
    @Test
    void matchRangePageSort(){
   
        // {"match":{"serialnumber":"1232041022"}}
        MatchQueryBuilder serialnumber1 = QueryBuilders.matchQuery("serialnumber", "1232041022");
        // {"match":{"serialnumber":"1453544213"}}
        MatchQueryBuilder serialnumber2 = QueryBuilders.matchQuery("serialnumber", "1453544213");
        // {"match":{"serialnumber":"1100422310"}}
        MatchQueryBuilder serialnumber3 = QueryBuilders.matchQuery("serialnumber", "1100422310");
        // {"bool":{"should":[]}}
        BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
        List<QueryBuilder> should = boolQueryBuilder.should();
        // {"bool":{"should":[{"match":{"serialnumber":"1232041022"}}]}}
        should.add(serialnumber1);
        // {"bool":{"should":[{"match":{"serialnumber":"1232041022"}},{"match":{"serialnumber":"1453544213"}}]}}
        should.add(serialnumber2);
        // 条件一
        // {"bool":{"should":[{"match":{"serialnumber":"1232041022"}},{"match":{"serialnumber":"1453544213"}},{"match":{"serialnumber":"1100422310"}}]}}
        should.add(serialnumber3)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值