From 3c47169dc31e31b0f968e1f66df206327b72149a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Simonas=20=C5=A0erlinskas?= <simonas.serlinskas@nfq.com>
Date: Tue, 11 Aug 2015 16:17:53 +0300
Subject: [PATCH] improved filter aggregation builder

---
 src/Aggregation/FilterAggregation.php | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/Aggregation/FilterAggregation.php b/src/Aggregation/FilterAggregation.php
index 2e512ba..362e596 100644
--- a/src/Aggregation/FilterAggregation.php
+++ b/src/Aggregation/FilterAggregation.php
@@ -13,6 +13,7 @@ namespace ONGR\ElasticsearchDSL\Aggregation;
 
 use ONGR\ElasticsearchDSL\Aggregation\Type\BucketingTrait;
 use ONGR\ElasticsearchDSL\BuilderInterface;
+use ONGR\ElasticsearchDSL\Filter\BoolFilter;
 
 /**
  * Class representing FilterAggregation.
@@ -68,7 +69,12 @@ class FilterAggregation extends AbstractAggregation
             throw new \LogicException("Filter aggregation `{$this->getName()}` has no filter added");
         }
 
-        $filterData = [$this->filter->getType() => $this->filter->toArray()];
+        if ($this->filter instanceof BoolFilter && $this->filter->isRelevant() ||
+            !$this->filter instanceof BoolFilter) {
+            $filterData = [$this->filter->getType() => $this->filter->toArray()];
+        } else {
+            $filterData = $this->filter->toArray();
+        }
 
         return $filterData;
     }
-- 
GitLab