is strictly prohibited aggregations • analytics histograms, distributions, statistics • over any partition of your data anything that can be selected with queries/filters • in near real time computed on the fly, ~1s refresh interval • that can be composed unlike facets
is strictly prohibited why on elasticsearch? • powerful when combined with search data exploration • search engines have had faceted search for a very long time storage is optimized for such a workload • aggregations are a new iteration with increased capabilities / flexibility
is strictly prohibited why is it fast? • data stored to make information retrieval fast yet indexing remains faster than what you expect • optimized data structures compressed columnar storage (field data / doc values) strings are enums (per segment) • single pass on your data no matter how many levels of aggregations there are
is strictly prohibited how it works (shard level) Shoes Clothing Shoes Sports Sports Category Price 60 80 50 10 35 terms (category) min (price) bucket of the parent aggregation
is strictly prohibited goodies • support for document relations via nested documents and the nested/reverse_nested aggs no parent/child support (yet?) • significant_terms find the uncommonly common • upcoming top_hits aggregations in 1.3 compute top hits on each bucket • performance / memory usage improved in 1.2 Upgrade if you rely on aggregations