diff --git a/docs/Aggregation/index.md b/docs/Aggregation/index.md new file mode 100644 index 0000000000000000000000000000000000000000..571f9c16f9ca6dcc24ee75aefb74f9aef3e9caa8 --- /dev/null +++ b/docs/Aggregation/index.md @@ -0,0 +1,49 @@ +# Aggregation + +Objective aggregation builder represents all available [Elasticsearch aggregations][1]. + + +To form an aggregation you have to create `Search` object. See below an example of min aggregation usage. + +```php +$search = new Search(); +$minAggregation = new MinAggregation('min_agg'); +$minAggregation->setField('price'); +$search->addAggregation($minAggregation); +$queryArray = $search->toArray(); +``` + +There are 2 types of aggregation: bucketing and metric. The only difference in using them is that metric bucketing +aggregations supports nesting while metric aggregations will ignore any set nested aggregations. + +## Metric Aggregations + - [Avg](Avg.md) + - [Cardinality](Cardinality.md) + - [ExtendedStats](ExtendedStats.md) + - [Max](Max.md) + - [Min](Min.md) + - [PercentileRanks](PercentileRanks.md) + - [Percentiles](Percentiles.md) + - [Stats](Stats.md) + - [Sum](Sum.md) + - [TopHits](TopHits.md) + - [ValueCount](ValueCount.md) + +## Bucketing Aggregations + - [Children](Children.md) + - [DateRange](DateRange.md) + - [Filter](Filter.md) + - [Filters](Filters.md) + - [GeoBounds](GeoBounds.md) + - [GeoDistance](GeoDistance.md) + - [GeoHashGrid](GeoHashGrid.md) + - [Global](Global.md) + - [Histogram](Histogram.md) + - [Ipv4Range](Ipv4Range.md) + - [Missing](Missing.md) + - [Nested](Nested.md) + - [Range](Range.md) + - [ReverseNested](ReverseNested.md) + - [Terms](Terms.md) + +[1]: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.html diff --git a/docs/index.md b/docs/index.md index 81b825606e547629520e44e7cf8029109ba7b71b..4ab5421dae8d7da2157a6a173563a60078ba6e7f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,7 +7,7 @@ Everything starts from the `Search` object. We recommend first to take a look at ### Topics: - [Build Queries](Query/index.md) - [Build Filters](Filter/index.md) -- [Build Aggregations] +- [Build Aggregations](Aggregation/index.md) ### How to - [How to combine `Filter` and `Query`]