Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

Sampler Aggregation

More info about histogram aggregation is in the official elasticsearch docs

A filtering aggregation used to limit any sub aggregations' processing to a sample of the top-scoring documents. Optionally, diversity settings can be used to limit the number of matches that share a common value such as an "author".

Simple example

{
    "aggregations": {
        "sample": {
            "sampler": {
                "shard_size": 200,
                "field" : "user.id"
            },
            "aggs": {
                 "keywords": {
                     "significant_terms": {
                         "field": "text"
                     }
                 }
            }
        }
    }
}

And now the query via DSL:

$samplerAggregation = new SamplerAggregation('sample', 'user.id', 200);
$samplerAggregation->addAggregation(
    new SignificantTermsAggregation('keywords', 'text')
);

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

$queryArray = $search->toArray();