@@ -13,6 +13,12 @@ public interface IHasChildFilter : IFilter
1313 [ JsonProperty ( "type" ) ]
1414 TypeNameMarker Type { get ; set ; }
1515
16+ [ JsonProperty ( "min_children" ) ]
17+ int ? MinChildren { get ; set ; }
18+
19+ [ JsonProperty ( "max_children" ) ]
20+ int ? MaxChildren { get ; set ; }
21+
1622 [ JsonProperty ( "query" ) ]
1723 IQueryContainer Query { get ; set ; }
1824
@@ -25,7 +31,7 @@ public interface IHasChildFilter : IFilter
2531 IInnerHits InnerHits { get ; set ; }
2632
2733 }
28-
34+
2935 public class HasChildFilter : PlainFilter , IHasChildFilter
3036 {
3137 protected internal override void WrapInContainer ( IFilterContainer container )
@@ -34,6 +40,8 @@ protected internal override void WrapInContainer(IFilterContainer container)
3440 }
3541
3642 public TypeNameMarker Type { get ; set ; }
43+ public int ? MinChildren { get ; set ; }
44+ public int ? MaxChildren { get ; set ; }
3745 public IQueryContainer Query { get ; set ; }
3846 public IFilterContainer Filter { get ; set ; }
3947 public IInnerHits InnerHits { get ; set ; }
@@ -57,6 +65,10 @@ bool IFilter.IsConditionless
5765
5866 TypeNameMarker IHasChildFilter . Type { get ; set ; }
5967
68+ int ? IHasChildFilter . MinChildren { get ; set ; }
69+
70+ int ? IHasChildFilter . MaxChildren { get ; set ; }
71+
6072 IQueryContainer IHasChildFilter . Query { get ; set ; }
6173
6274 IFilterContainer IHasChildFilter . Filter { get ; set ; }
@@ -88,6 +100,18 @@ public HasChildFilterDescriptor<T> Type(string type)
88100 return this ;
89101 }
90102
103+ public HasChildFilterDescriptor < T > MinChildren ( int minChildren )
104+ {
105+ Self . MinChildren = minChildren ;
106+ return this ;
107+ }
108+
109+ public HasChildFilterDescriptor < T > MaxChildren ( int maxChildren )
110+ {
111+ Self . MaxChildren = maxChildren ;
112+ return this ;
113+ }
114+
91115 public HasChildFilterDescriptor < T > InnerHits ( )
92116 {
93117 Self . InnerHits = new InnerHits ( ) ;
0 commit comments