Repository: elastic/elasticsearch-dsl-py

Issue:
Add support for the multi_terms aggregation
Good day!

How can i use [multu-terms aggregation](https://www.elastic.co/guide/en/elasticsearch//reference/master/search-aggregations-bucket-multi-terms-aggregation.html#:~:text=Multi%20Terms%20aggregationedit,and%20will%20consume%20more%20memory.) ?

I have got : `elasticsearch_dsl.exceptions.UnknownDslObject: DSL class `multi_terms` does not exist in agg.`
Is there a method implemented?

Discussion:
EvieGillie: Was just looking for this change - thanks @Telomeraz !

Patch:
diff --git a/elasticsearch_dsl/aggs.py b/elasticsearch_dsl/aggs.py
index d307164..3b55a8a 100644
--- a/elasticsearch_dsl/aggs.py
+++ b/elasticsearch_dsl/aggs.py
@@ -296,6 +296,10 @@ class VariableWidthHistogram(Bucket):
         return FieldBucketData(self, search, data)
 
 
+class MultiTerms(Bucket):
+    name = "multi_terms"
+
+
 # metric aggregations
 class TopHits(Agg):
     name = "top_hits"


Test patch:
diff --git a/tests/test_aggs.py b/tests/test_aggs.py
index 6c39383..0874a66 100644
--- a/tests/test_aggs.py
+++ b/tests/test_aggs.py
@@ -300,6 +300,18 @@ def test_variable_width_histogram_aggregation():
     assert {"variable_width_histogram": {"buckets": 2, "field": "price"}} == a.to_dict()
 
 
+def test_multi_terms_aggregation():
+    a = aggs.MultiTerms(terms=[{"field": "tags"}, {"field": "author.row"}])
+    assert {
+        "multi_terms": {
+            "terms": [
+                {"field": "tags"},
+                {"field": "author.row"},
+            ]
+        }
+    } == a.to_dict()
+
+
 def test_median_absolute_deviation_aggregation():
     a = aggs.MedianAbsoluteDeviation(field="rating")