Skip to content

Commit 828b9b3

Browse files
vitor-saraivaMpdreamz
authored andcommitted
added support for stored fields in InnerHits definition
1 parent 1521728 commit 828b9b3

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

src/Nest/Search/Search/InnerHits/GlobalInnerHit.cs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public class GlobalInnerHitDescriptor<T> : DescriptorBase<GlobalInnerHitDescript
3636
ISourceFilter IInnerHits.Source { get; set; }
3737
bool? IInnerHits.Version { get; set; }
3838
IList<Field> IInnerHits.FielddataFields { get; set; }
39+
IList<Field> IInnerHits.Fields { get; set; }
3940
IScriptFields IInnerHits.ScriptFields { get; set; }
4041

4142
public GlobalInnerHitDescriptor<T> Query(Func<QueryContainerDescriptor<T>, QueryContainer> querySelector) =>
@@ -51,10 +52,16 @@ public GlobalInnerHitDescriptor<T> InnerHits(Func<NamedInnerHitsDescriptor<T>, I
5152
public GlobalInnerHitDescriptor<T> Name(string name) => Assign(a => a.Name = name);
5253

5354
public GlobalInnerHitDescriptor<T> FielddataFields(params string[] fielddataFields) =>
54-
Assign(a => a.FielddataFields = fielddataFields?.Select(f => (Field) f).ToListOrNullIfEmpty());
55+
Assign(a => a.FielddataFields = fielddataFields?.Select(f => (Field)f).ToListOrNullIfEmpty());
5556

5657
public GlobalInnerHitDescriptor<T> FielddataFields(params Expression<Func<T, object>>[] fielddataFields) =>
57-
Assign(a => a.FielddataFields = fielddataFields?.Select(f => (Field) f).ToListOrNullIfEmpty());
58+
Assign(a => a.FielddataFields = fielddataFields?.Select(f => (Field)f).ToListOrNullIfEmpty());
59+
60+
public GlobalInnerHitDescriptor<T> Fields(params string[] fields) =>
61+
Assign(a => a.Fields = fields?.Select(f => (Field)f).ToListOrNullIfEmpty());
62+
63+
public GlobalInnerHitDescriptor<T> Fields(params Expression<Func<T, object>>[] fields) =>
64+
Assign(a => a.Fields = fields?.Select(f => (Field)f).ToListOrNullIfEmpty());
5865

5966
public GlobalInnerHitDescriptor<T> Explain(bool explain = true) => Assign(a => a.Explain = explain);
6067

@@ -76,4 +83,4 @@ public GlobalInnerHitDescriptor<T> Source(Func<SourceFilterDescriptor<T>, ISourc
7683
public GlobalInnerHitDescriptor<T> ScriptFields(Func<ScriptFieldsDescriptor, IPromise<IScriptFields>> selector) =>
7784
Assign(a => a.ScriptFields = selector?.Invoke(new ScriptFieldsDescriptor())?.Value);
7885
}
79-
}
86+
}

src/Nest/Search/Search/InnerHits/InnerHits.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ public interface IInnerHits
3636
[JsonProperty(PropertyName = "fielddata_fields")]
3737
IList<Field> FielddataFields { get; set; }
3838

39+
[JsonProperty(PropertyName = "fields")]
40+
IList<Field> Fields { get; set; }
41+
3942
[JsonProperty(PropertyName = "script_fields")]
4043
IScriptFields ScriptFields { get; set; }
4144
}
@@ -60,6 +63,8 @@ public class InnerHits : IInnerHits
6063

6164
public IList<Field> FielddataFields { get; set; }
6265

66+
public IList<Field> Fields { get; set; }
67+
6368
public IScriptFields ScriptFields { get; set; }
6469
}
6570

@@ -75,6 +80,7 @@ public class InnerHitsDescriptor<T> : DescriptorBase<InnerHitsDescriptor<T>, IIn
7580
ISourceFilter IInnerHits.Source { get; set; }
7681
bool? IInnerHits.Version { get; set; }
7782
IList<Field> IInnerHits.FielddataFields { get; set; }
83+
IList<Field> IInnerHits.Fields { get; set; }
7884
IScriptFields IInnerHits.ScriptFields { get; set; }
7985

8086
public InnerHitsDescriptor<T> From(int? from) => Assign(a => a.From = from);
@@ -89,6 +95,12 @@ public InnerHitsDescriptor<T> FielddataFields(params string[] fielddataFields) =
8995
public InnerHitsDescriptor<T> FielddataFields(params Expression<Func<T, object>>[] fielddataFields) =>
9096
Assign(a => a.FielddataFields = fielddataFields?.Select(f => (Field)f).ToListOrNullIfEmpty());
9197

98+
public InnerHitsDescriptor<T> Fields(params string[] fields) =>
99+
Assign(a => a.Fields = fields?.Select(f => (Field)f).ToListOrNullIfEmpty());
100+
101+
public InnerHitsDescriptor<T> Fields(params Expression<Func<T, object>>[] fields) =>
102+
Assign(a => a.Fields = fields?.Select(f => (Field)f).ToListOrNullIfEmpty());
103+
92104
public InnerHitsDescriptor<T> Explain(bool? explain = true) => Assign(a => a.Explain = explain);
93105

94106
public InnerHitsDescriptor<T> Version(bool? version = true) => Assign(a => a.Version = version);
@@ -110,4 +122,4 @@ public InnerHitsDescriptor<T> Source(Func<SourceFilterDescriptor<T>, ISourceFilt
110122
public InnerHitsDescriptor<T> ScriptFields(Func<ScriptFieldsDescriptor, IPromise<IScriptFields>> selector) =>
111123
Assign(a => a.ScriptFields = selector?.Invoke(new ScriptFieldsDescriptor())?.Value);
112124
}
113-
}
125+
}

0 commit comments

Comments
 (0)