/** * {@inheritdoc} */ public function handle(CriteriaPartInterface $criteriaPart, Criteria $criteria, Search $search, ShopContextInterface $context) { /** @var VoteAverageCondition $criteriaPart */ $range = new RangeFilter('voteAverage.average', ['gte' => $criteriaPart->getAverage()]); if ($criteria->hasBaseCondition($criteriaPart->getName())) { $search->addFilter($range); } else { $search->addPostFilter($range); } }