ElasticSearch Aggregations in java spring boot 3 and spring Data Elasticsearch 5.x

99 views Asked by At

I'm trying to make an Elasticsearch query with Aggragation with Spring Data Elasticsearch 5.x.

Before updating elasticSearch and spring boot version i had the java code below that was working well :

    TermsQueryBuilder termsQueryBuilder1 = new TermsQueryBuilder("my_request","path1","path2");
    TermsQueryBuilder termsQueryBuilder2 = new TermsQueryBuilder("my_request","path2","path3");
    TermsQueryBuilder termsQueryBuilder3 = new TermsQueryBuilder("code","400","500");
    
    BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery()
                    .filter(termsQueryBuilder2)
                    .filter(termsQueryBuilder3);
    
    TermsAggregationBuilder aggregationByDate = AggregationBuilders
        .terms("byDate")
        .script(new Script("doc['"@timestamp"'].value.withZoneSameInstant(ZoneId.of('"America/Phoenix"')).toLocalDate()"))
        .order(BucketOrder.key(true))
        .size(30);
    
    
    TermsAggregationBuilder aggregationById = AggregationBuilders
        .terms("byId")
        .field(ID_FIELD)
        .order(BucketOrder.key(true))
        .subAggregation(aggregationByDate)
        .size(200);
    
    // Aggregation
    FiltersAggregationBuilder aggregation = AggregationBuilders
        .filters("attempts_by_date_and_id",
            new FiltersAggregator.KeyedFilter("success_try", termsQueryBuilder1),
            new FiltersAggregator.KeyedFilter("failed_try", boolQueryBuilder))
        .subAggregation(aggregationById);

how can i create a the terms and filters now that most of the classes are deprecated.

0

There are 0 answers