Bucket aggregations create buckets of documents. Each bucket has a criterion that determines which types of document fall into it. As opposed to metrics, they can hold subaggregations, known as child buckets, within a parent bucket. Let's cover some of the bucket aggregation types.
Bucket aggregations
Adjacency matrix aggregation
This bucket aggregation returns a form of adjacency matrix. Each bucket represents a cell in the matrix of intersecting filters. For example, given three filters, A, B and C, the response will return the following:
A 
B 
C 

A 
A 
A&B 
A&C 
B 
B 
B&C 

C 
C 
The buckets B&A, C&A, and C&B are not included as they are already in the table (as...