parent
0e2a9b4ac7
commit
38b5b59862
|
@ -6,9 +6,10 @@
|
||||||
|
|
||||||
A multi-bucket aggregation that creates composite buckets from different sources.
|
A multi-bucket aggregation that creates composite buckets from different sources.
|
||||||
|
|
||||||
Unlike the other `multi-bucket` aggregation the `composite` aggregation can be used
|
Unlike the other `multi-bucket` aggregations, you can use the `composite`
|
||||||
to paginate **all** buckets from a multi-level aggregation efficiently. This aggregation
|
aggregation to paginate **all** buckets from a multi-level aggregation
|
||||||
provides a way to stream **all** buckets of a specific aggregation similarly to what
|
efficiently. This aggregation provides a way to stream **all** buckets of a
|
||||||
|
specific aggregation, similar to what
|
||||||
<<scroll-search-results, scroll>> does for documents.
|
<<scroll-search-results, scroll>> does for documents.
|
||||||
|
|
||||||
The composite buckets are built from the combinations of the
|
The composite buckets are built from the combinations of the
|
||||||
|
@ -76,7 +77,7 @@ POST /sales/_bulk?refresh
|
||||||
|
|
||||||
//////////////////////////
|
//////////////////////////
|
||||||
|
|
||||||
For instance the following document:
|
For example, consider the following document:
|
||||||
|
|
||||||
[source,js]
|
[source,js]
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
@ -87,8 +88,8 @@ For instance the following document:
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
// NOTCONSOLE
|
// NOTCONSOLE
|
||||||
|
|
||||||
\... creates the following composite buckets when `keyword` and `number` are used as values source
|
Using `keyword` and `number` as source fields for the aggregation results in
|
||||||
for the aggregation:
|
the following composite buckets:
|
||||||
|
|
||||||
[source,js]
|
[source,js]
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
@ -101,15 +102,20 @@ for the aggregation:
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
// NOTCONSOLE
|
// NOTCONSOLE
|
||||||
|
|
||||||
==== Values source
|
==== Value sources
|
||||||
|
|
||||||
The `sources` parameter controls the sources that should be used to build the composite buckets.
|
The `sources` parameter defines the source fields to use when building
|
||||||
The order that the `sources` are defined is important because it also controls the order
|
composite buckets. The order that the `sources` are defined controls the order
|
||||||
the keys are returned.
|
that the keys are returned.
|
||||||
|
|
||||||
The name given to each sources must be unique.
|
NOTE: You must use a unique name when defining `sources`.
|
||||||
|
|
||||||
There are three different types of values source:
|
The `sources` parameter can be any of the following types:
|
||||||
|
|
||||||
|
* <<_terms,Terms>>
|
||||||
|
* <<_histogram,Histogram>>
|
||||||
|
* <<_date_histogram,Date histogram>>
|
||||||
|
* <<_geotile_grid,GeoTile grid>>
|
||||||
|
|
||||||
[[_terms]]
|
[[_terms]]
|
||||||
===== Terms
|
===== Terms
|
||||||
|
@ -430,10 +436,10 @@ GET /_search
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
===== Mixing different values source
|
===== Mixing different value sources
|
||||||
|
|
||||||
The `sources` parameter accepts an array of values source.
|
The `sources` parameter accepts an array of value sources.
|
||||||
It is possible to mix different values source to create composite buckets.
|
It is possible to mix different value sources to create composite buckets.
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
[source,console]
|
[source,console]
|
||||||
|
@ -454,7 +460,7 @@ GET /_search
|
||||||
}
|
}
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
This will create composite buckets from the values created by two values source, a `date_histogram` and a `terms`.
|
This will create composite buckets from the values created by two value sources, a `date_histogram` and a `terms`.
|
||||||
Each bucket is composed of two values, one for each value source defined in the aggregation.
|
Each bucket is composed of two values, one for each value source defined in the aggregation.
|
||||||
Any type of combinations is allowed and the order in the array is preserved
|
Any type of combinations is allowed and the order in the array is preserved
|
||||||
in the composite buckets.
|
in the composite buckets.
|
||||||
|
@ -542,7 +548,7 @@ first (ascending order, `asc`) or last (descending order, `desc`).
|
||||||
|
|
||||||
The `size` parameter can be set to define how many composite buckets should be returned.
|
The `size` parameter can be set to define how many composite buckets should be returned.
|
||||||
Each composite bucket is considered as a single bucket, so setting a size of 10 will return the
|
Each composite bucket is considered as a single bucket, so setting a size of 10 will return the
|
||||||
first 10 composite buckets created from the values source.
|
first 10 composite buckets created from the value sources.
|
||||||
The response contains the values for each composite bucket in an array containing the values extracted
|
The response contains the values for each composite bucket in an array containing the values extracted
|
||||||
from each value source. Defaults to `10`.
|
from each value source. Defaults to `10`.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue