es批量搜索

TermsBuilder termsBuilder = AggregationBuilders.terms("events")
                .field("eventId").include(eventIds);

        FilterAggregationBuilder filterAggregationBuilder = AggregationBuilders.filter("hit")
                .filter(QueryBuilders.termQuery("hit", "1"));

        termsBuilder.subAggregation(filterAggregationBuilder);

        termsBuilder.subAggregation(AggregationBuilders.terms("hitPunish").field("hitPunish")
                .size(0)
                .order(Order.term(true)));
        termsBuilder.subAggregation(AggregationBuilders.terms("hitExps").field("hitExps")
                .size(0)
                .order(Order.term(true)));


        RangeQueryBuilder nowRangeQuery = QueryBuilders.rangeQuery("requestTime")
                .gte(1486921330000L)
                .lte(1486921457000L)
                .format("epoch_millis") ;
        RangeQueryBuilder yoyRangeQuery = QueryBuilders.rangeQuery("requestTime")
                .gte(1486921457000L)
                .lte(1486947847000L)
                .format("epoch_millis") ;
        RangeQueryBuilder momRangeQuery = QueryBuilders.rangeQuery("requestTime")
                .gte(1486947847000L)
                .lte(1486947999000L)
                .format("epoch_millis") ;


        RangeQueryBuilder[] rangeQueryBuilders = new RangeQueryBuilder[] {nowRangeQuery, yoyRangeQuery, momRangeQuery};

        MultiSearchRequestBuilder multiSearchRequestBuilder = client.prepareMultiSearch();

        for(RangeQueryBuilder rangeQueryBuilder: rangeQueryBuilders) {
            SearchRequestBuilder searchRequestBuilder =
                    client.prepareSearch("minos2log*")
                            .setQuery(rangeQueryBuilder)
                            .addAggregation(termsBuilder)
                            .setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
                            .setSize(0);

            multiSearchRequestBuilder.add(searchRequestBuilder);
        }

        MultiSearchResponse multiSearchResponse =multiSearchRequestBuilder.execute().actionGet();

        return multiSearchResponse.toString();
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值