| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | [[java-aggs-metrics-percentile]]==== Percentile AggregationHere is how you can use{ref}/search-aggregations-metrics-percentile-aggregation.html[Percentile Aggregation]with Java API.===== Prepare aggregation requestHere is an example on how to create the aggregation request:[source,java]--------------------------------------------------PercentilesAggregationBuilder aggregation =        AggregationBuilders                .percentiles("agg")                .field("height");--------------------------------------------------You can provide your own percentiles instead of using defaults:[source,java]--------------------------------------------------PercentilesAggregationBuilder aggregation =        AggregationBuilders                .percentiles("agg")                .field("height")                .percentiles(1.0, 5.0, 10.0, 20.0, 30.0, 75.0, 95.0, 99.0);--------------------------------------------------===== Use aggregation responseImport Aggregation definition classes:[source,java]--------------------------------------------------import org.elasticsearch.search.aggregations.metrics.percentiles.Percentile;import org.elasticsearch.search.aggregations.metrics.percentiles.Percentiles;--------------------------------------------------[source,java]--------------------------------------------------// sr is here your SearchResponse objectPercentiles agg = sr.getAggregations().get("agg");// For each entryfor (Percentile entry : agg) {    double percent = entry.getPercent();    // Percent    double value = entry.getValue();        // Value    logger.info("percent [{}], value [{}]", percent, value);}--------------------------------------------------This will basically produce for the first example:[source,text]--------------------------------------------------percent [1.0], value [0.814338896154595]percent [5.0], value [0.8761912455821302]percent [25.0], value [1.173346540141847]percent [50.0], value [1.5432023318692198]percent [75.0], value [1.923915462033674]percent [95.0], value [2.2273644908535335]percent [99.0], value [2.284989339108279]--------------------------------------------------
 |