Percentile Ranks Aggregation

More info about percentile ranks aggregation is in the official elasticsearch docs

A multi-value metrics aggregation that calculates one or more percentile ranks over numeric values extracted from the aggregated documents.

Simple example

{
    "aggregations" : {
        "load_time_outlier" : {
            "percentile_ranks" : {
                "field" : "load_time",
                "values" : [15, 30]
            }
        }
    }
}

And now the query via DSL:

$percentileRanksAggregation = new PercentileRanksAggregation('load_time_outlier', 'load_time', [15, 30]);

$search = new Search();
$search->addAggregation($percentileRanksAggregation);

$queryArray = $search->toArray();