setField($field); $this->setInterval($interval); } /** * Set the interval by which documents will be bucketed. * * @param int|string $interval * * @return $this */ public function setInterval($interval) { return $this->setParam('interval', $interval); } /** * Set the bucket sort order. * * @param string $order "_count", "_term", or the name of a sub-aggregation or sub-aggregation response field * @param string $direction "asc" or "desc" * * @return $this */ public function setOrder(string $order, string $direction): self { return $this->setParam('order', [$order => $direction]); } /** * Set the minimum number of documents which must fall into a bucket in order for the bucket to be returned. * * @param int $count set to 0 to include empty buckets * * @return $this */ public function setMinimumDocumentCount(int $count): self { return $this->setParam('min_doc_count', $count); } }