@@ -52,10 +52,10 @@ public partial interface ISearchRequest : ICovariantSearchRequest
5252 IRescore Rescore { get ; set ; }
5353
5454 [ JsonProperty ( PropertyName = "fields" ) ]
55- IList < Field > Fields { get ; set ; }
55+ Fields Fields { get ; set ; }
5656
5757 [ JsonProperty ( PropertyName = "fielddata_fields" ) ]
58- IList < Field > FielddataFields { get ; set ; }
58+ Fields FielddataFields { get ; set ; }
5959
6060 [ JsonProperty ( PropertyName = "script_fields" ) ]
6161 IScriptFields ScriptFields { get ; set ; }
@@ -102,8 +102,8 @@ public partial class SearchRequest
102102 public bool ? TrackScores { get ; set ; }
103103 public double ? MinScore { get ; set ; }
104104 public long ? TerminateAfter { get ; set ; }
105- public IList < Field > Fields { get ; set ; }
106- public IList < Field > FielddataFields { get ; set ; }
105+ public Fields Fields { get ; set ; }
106+ public Fields FielddataFields { get ; set ; }
107107 public IScriptFields ScriptFields { get ; set ; }
108108 public ISourceFilter Source { get ; set ; }
109109 public IList < ISort > Sort { get ; set ; }
@@ -144,8 +144,8 @@ public partial class SearchRequest<T>
144144 public bool ? TrackScores { get ; set ; }
145145 public double ? MinScore { get ; set ; }
146146 public long ? TerminateAfter { get ; set ; }
147- public IList < Field > Fields { get ; set ; }
148- public IList < Field > FielddataFields { get ; set ; }
147+ public Fields Fields { get ; set ; }
148+ public Fields FielddataFields { get ; set ; }
149149 public IScriptFields ScriptFields { get ; set ; }
150150 public ISourceFilter Source { get ; set ; }
151151 public IList < ISort > Sort { get ; set ; }
@@ -207,8 +207,8 @@ public partial class SearchDescriptor<T> where T : class
207207 IRescore ISearchRequest . Rescore { get ; set ; }
208208 QueryContainer ISearchRequest . Query { get ; set ; }
209209 QueryContainer ISearchRequest . PostFilter { get ; set ; }
210- IList < Field > ISearchRequest . Fields { get ; set ; }
211- IList < Field > ISearchRequest . FielddataFields { get ; set ; }
210+ Fields ISearchRequest . Fields { get ; set ; }
211+ Fields ISearchRequest . FielddataFields { get ; set ; }
212212 IScriptFields ISearchRequest . ScriptFields { get ; set ; }
213213 ISourceFilter ISearchRequest . Source { get ; set ; }
214214 AggregationDictionary ISearchRequest . Aggregations { get ; set ; }
@@ -345,34 +345,14 @@ public SearchDescriptor<T> IndicesBoost(Func<FluentDictionary<IndexName, double>
345345 /// Allows to selectively load specific fields for each document
346346 /// represented by a search hit. Defaults to load the internal _source field.
347347 /// </summary>
348- public SearchDescriptor < T > Fields ( params Expression < Func < T , object > > [ ] expressions ) =>
349- Assign ( a => a . Fields = expressions ? . Select ( e => ( Field ) e ) . ToListOrNullIfEmpty ( ) ) ;
350-
351- /// <summary>
352- /// Allows to selectively load specific fields for each document
353- /// represented by a search hit. Defaults to load the internal _source field.
354- /// </summary>
355- public SearchDescriptor < T > Fields ( Func < FluentFieldList < T > , FluentFieldList < T > > properties ) =>
356- Assign ( a => a . Fields = properties ? . Invoke ( new FluentFieldList < T > ( ) ) . ToListOrNullIfEmpty ( ) ) ;
357-
358- /// <summary>
359- /// Allows to selectively load specific fields for each document
360- /// represented by a search hit. Defaults to load the internal _source field.
361- /// </summary>
362- public SearchDescriptor < T > Fields ( params string [ ] fields ) =>
363- Assign ( a => a . Fields = fields ? . Select ( f => ( Field ) f ) . ToListOrNullIfEmpty ( ) ) ;
364-
365- ///<summary>
366- ///A comma-separated list of fields to return as the field data representation of a field for each hit
367- ///</summary>
368- public SearchDescriptor < T > FielddataFields ( params string [ ] fielddataFields ) =>
369- Assign ( a => a . FielddataFields = fielddataFields ? . Select ( f => ( Field ) f ) . ToListOrNullIfEmpty ( ) ) ;
348+ public SearchDescriptor < T > Fields ( Func < FieldsDescriptor < T > , IPromise < Fields > > fields ) =>
349+ Assign ( a => a . Fields = fields ? . Invoke ( new FieldsDescriptor < T > ( ) ) ? . Value ) ;
370350
371351 ///<summary>
372352 ///A comma-separated list of fields to return as the field data representation of a field for each hit
373353 ///</summary>
374- public SearchDescriptor < T > FielddataFields ( params Expression < Func < T , object > > [ ] fielddataFields ) =>
375- Assign ( a => a . FielddataFields = fielddataFields ? . Select ( f => ( Field ) f ) . ToListOrNullIfEmpty ( ) ) ;
354+ public SearchDescriptor < T > FielddataFields ( Func < FieldsDescriptor < T > , IPromise < Fields > > fields ) =>
355+ Assign ( a => a . FielddataFields = fields ? . Invoke ( new FieldsDescriptor < T > ( ) ) ? . Value ) ;
376356
377357 public SearchDescriptor < T > ScriptFields ( Func < ScriptFieldsDescriptor , IPromise < IScriptFields > > selector ) =>
378358 Assign ( a => a . ScriptFields = selector ? . Invoke ( new ScriptFieldsDescriptor ( ) ) ? . Value ) ;
0 commit comments