@@ -25,6 +25,9 @@ public interface ISpanQuery : IQuery
2525
2626 [ JsonProperty ( PropertyName = "span_not" ) ]
2727 ISpanNotQuery SpanNot { get ; set ; }
28+
29+ [ JsonProperty ( PropertyName = "span_multi" ) ]
30+ ISpanMultiTermQuery SpanMultiTerm { get ; set ; }
2831 }
2932
3033 public class SpanQuery : ISpanQuery
@@ -35,6 +38,7 @@ public class SpanQuery : ISpanQuery
3538 public ISpanNearQuery SpanNear { get ; set ; }
3639 public ISpanOrQuery SpanOr { get ; set ; }
3740 public ISpanNotQuery SpanNot { get ; set ; }
41+ public ISpanMultiTermQuery SpanMultiTerm { get ; set ; }
3842 }
3943
4044 public class SpanQuery < T > : ISpanQuery where T : class
@@ -49,6 +53,8 @@ public class SpanQuery<T> : ISpanQuery where T : class
4953
5054 ISpanNotQuery ISpanQuery . SpanNot { get ; set ; }
5155
56+ ISpanMultiTermQuery ISpanQuery . SpanMultiTerm { get ; set ; }
57+
5258 bool IQuery . IsConditionless
5359 {
5460 get
@@ -59,7 +65,8 @@ bool IQuery.IsConditionless
5965 ( ( ISpanQuery ) this ) . SpanFirst as IQuery ,
6066 ( ( ISpanQuery ) this ) . SpanNear as IQuery ,
6167 ( ( ISpanQuery ) this ) . SpanOr as IQuery ,
62- ( ( ISpanQuery ) this ) . SpanNot as IQuery
68+ ( ( ISpanQuery ) this ) . SpanNot as IQuery ,
69+ ( ( ISpanQuery ) this ) . SpanMultiTerm as IQuery
6370 } ;
6471 return queries . All ( q => q == null || q . IsConditionless ) ;
6572 }
@@ -117,6 +124,12 @@ public SpanQuery<T> SpanNot(Func<SpanNotQuery<T>, SpanNotQuery<T>> selector)
117124 var q = selector ( new SpanNotQuery < T > ( ) ) ;
118125 return CreateQuery ( q , ( sq ) => ( ( ISpanQuery ) sq ) . SpanNot = q ) ;
119126 }
127+ public SpanQuery < T > SpanMultiTerm ( Func < SpanMultiTermQueryDescriptor < T > , SpanMultiTermQueryDescriptor < T > > selector )
128+ {
129+ selector . ThrowIfNull ( "selector" ) ;
130+ var q = selector ( new SpanMultiTermQueryDescriptor < T > ( ) ) ;
131+ return CreateQuery ( q , ( sq ) => ( ( ISpanQuery ) sq ) . SpanMultiTerm = q ) ;
132+ }
120133
121134 private SpanQuery < T > CreateQuery < K > ( K query , Action < SpanQuery < T > > setProperty ) where K : ISpanSubQuery
122135 {
0 commit comments