diff --git a/src/Aggregation/AbstractAggregation.php b/src/Aggregation/AbstractAggregation.php
index 975cdaf54c2b5688577e12b518eb39dfae4c5617..5a5f1e563a4206ccb55633ab2ba86ba70566b5a7 100644
--- a/src/Aggregation/AbstractAggregation.php
+++ b/src/Aggregation/AbstractAggregation.php
@@ -24,6 +24,8 @@ abstract class AbstractAggregation implements BuilderInterface
     use ParametersTrait;
     use NameAwareTrait;
 
+    const PREFIX = 'agg_';
+
     /**
      * @var string
      */
@@ -53,7 +55,7 @@ abstract class AbstractAggregation implements BuilderInterface
      */
     public function __construct($name)
     {
-        $this->setName($name);
+        $this->setName(self::PREFIX.$name);
     }
 
     /**
@@ -100,6 +102,20 @@ abstract class AbstractAggregation implements BuilderInterface
         }
     }
 
+    /**
+     * Returns sub aggregation.
+     *
+     * @return AbstractAggregation
+     */
+    public function getAggregation($name)
+    {
+        if ($this->aggregations && $this->aggregations->has(self::PREFIX.$name)) {
+            return $this->aggregations->get(self::PREFIX.$name);
+        } else {
+            return [];
+        }
+    }
+
     /**
      * {@inheritdoc}
      */