"Nesting performs a join across two buckets. But instead of producing a cross-product of the left and right hand inputs, a single result is produced for each left hand input, while the corresponding right hand inputs are collected into an array and nested as a single array-valued field in the result object."
E. Bakke, D. Karger, and R. Miller. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, page 2541--2550. New York, NY, USA, ACM, (2011)