configuration, $this->filterCollection); $query = $queryFilterBuilder->getQuery(); /** @var \IQDEV\ElasticSearch\Criteria\Aggs\Aggs $aggs */ foreach ($this->aggsCollection as $aggs) { $property = $aggs->getProperty(); if ($property->getType() !== PropertyType::BASE) { continue; } $aggs = new Aggs($property->getKey()); if (false === $query->isEmpty()) { $aggs->setQuery($query); $aggs->addAggs( (new Aggs($property->getKey())) ->setTerms(new Terms($property->getKey())) ); } else { $aggs->setTerms(new Terms($property->getKey())); } $aggs->addAggs( (new Aggs($property->getKey())) ->setTerms(new Terms($property->getKey())) ); $original->add($aggs); } } }