diff --git a/src/Nest/DSL/Search/HighlightFieldDescriptor.cs b/src/Nest/DSL/Search/HighlightFieldDescriptor.cs index 92ebec4d3b6..96b5de36ef0 100644 --- a/src/Nest/DSL/Search/HighlightFieldDescriptor.cs +++ b/src/Nest/DSL/Search/HighlightFieldDescriptor.cs @@ -57,9 +57,12 @@ public interface IHighlightField [JsonProperty("matched_fields")] IEnumerable MatchedFields { get; set; } - } - public class HighlightField : IHighlightField + [JsonProperty("highlight_query")] + IQueryContainer HighlightQuery { get; set; } + } + + public class HighlightField : IHighlightField { public PropertyPathMarker Field { get; set; } public IEnumerable PreTags { get; set; } @@ -77,7 +80,8 @@ public class HighlightField : IHighlightField public string Type { get; set; } public bool? ForceSource { get; set; } public IEnumerable MatchedFields { get; set; } - } + public IQueryContainer HighlightQuery { get; set; } + } public class HighlightFieldDescriptor : IHighlightField where T : class { @@ -113,9 +117,11 @@ public class HighlightFieldDescriptor : IHighlightField where T : class bool? IHighlightField.ForceSource { get; set; } - IEnumerable IHighlightField.MatchedFields { get; set; } - - public HighlightFieldDescriptor OnField(string field) + IEnumerable IHighlightField.MatchedFields { get; set; } + + IQueryContainer IHighlightField.HighlightQuery { get; set; } + + public HighlightFieldDescriptor OnField(string field) { Self.Field = field; return this; @@ -224,5 +230,10 @@ public HighlightFieldDescriptor MatchedFields(params Expression (PropertyPathMarker)f); return this; } - } + public HighlightFieldDescriptor HighlightQuery(Func, QueryContainer> query) + { + Self.HighlightQuery = query(new QueryDescriptor()); + return this; + } + } }