diff --git a/src/Nest/Aggregations/Bucket/Sampler/SamplerAggregation.cs b/src/Nest/Aggregations/Bucket/Sampler/SamplerAggregation.cs index 882bfbe6b08..6ffcc4f7d38 100644 --- a/src/Nest/Aggregations/Bucket/Sampler/SamplerAggregation.cs +++ b/src/Nest/Aggregations/Bucket/Sampler/SamplerAggregation.cs @@ -12,15 +12,6 @@ namespace Nest [ReadAs(typeof(SamplerAggregation))] public interface ISamplerAggregation : IBucketAggregation { - [DataMember(Name ="execution_hint")] - SamplerAggregationExecutionHint? ExecutionHint { get; set; } - - [DataMember(Name ="max_docs_per_value")] - int? MaxDocsPerValue { get; set; } - - [DataMember(Name ="script")] - IScript Script { get; set; } - [DataMember(Name ="shard_size")] int? ShardSize { get; set; } } @@ -31,9 +22,6 @@ internal SamplerAggregation() { } public SamplerAggregation(string name) : base(name) { } - public SamplerAggregationExecutionHint? ExecutionHint { get; set; } - public int? MaxDocsPerValue { get; set; } - public IScript Script { get; set; } public int? ShardSize { get; set; } internal override void WrapInContainer(AggregationContainer c) => c.Sampler = this; @@ -43,21 +31,8 @@ public class SamplerAggregationDescriptor : BucketAggregationDescriptorBase, ISamplerAggregation, T>, ISamplerAggregation where T : class { - SamplerAggregationExecutionHint? ISamplerAggregation.ExecutionHint { get; set; } - int? ISamplerAggregation.MaxDocsPerValue { get; set; } - IScript ISamplerAggregation.Script { get; set; } int? ISamplerAggregation.ShardSize { get; set; } - public SamplerAggregationDescriptor ExecutionHint(SamplerAggregationExecutionHint? executionHint) => - Assign(executionHint, (a, v) => a.ExecutionHint = v); - - public SamplerAggregationDescriptor MaxDocsPerValue(int? maxDocs) => Assign(maxDocs, (a, v) => a.MaxDocsPerValue = v); - - public SamplerAggregationDescriptor Script(string script) => Assign((InlineScript)script, (a, v) => a.Script = v); - - public SamplerAggregationDescriptor Script(Func scriptSelector) => - Assign(scriptSelector, (a, v) => a.Script = v?.Invoke(new ScriptDescriptor())); - public SamplerAggregationDescriptor ShardSize(int? shardSize) => Assign(shardSize, (a, v) => a.ShardSize = v); } } diff --git a/src/Nest/Aggregations/Bucket/Sampler/SamplerAggregationExecutionHint.cs b/src/Nest/Aggregations/Bucket/Sampler/SamplerAggregationExecutionHint.cs deleted file mode 100644 index 2ada29ed478..00000000000 --- a/src/Nest/Aggregations/Bucket/Sampler/SamplerAggregationExecutionHint.cs +++ /dev/null @@ -1,22 +0,0 @@ -// Licensed to Elasticsearch B.V under one or more agreements. -// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. -// See the LICENSE file in the project root for more information - -using System.Runtime.Serialization; -using Elasticsearch.Net; - -namespace Nest -{ - [StringEnum] - public enum SamplerAggregationExecutionHint - { - [EnumMember(Value = "map")] - Map, - - [EnumMember(Value = "global_ordinals")] - GlobalOrdinals, - - [EnumMember(Value = "bytes_hash")] - BytesHash - } -} diff --git a/tests/Examples/Aggregations/Bucket/SamplerAggregationPage.cs b/tests/Examples/Aggregations/Bucket/SamplerAggregationPage.cs index f231da4dda5..a11451733ea 100644 --- a/tests/Examples/Aggregations/Bucket/SamplerAggregationPage.cs +++ b/tests/Examples/Aggregations/Bucket/SamplerAggregationPage.cs @@ -10,15 +10,34 @@ namespace Examples.Aggregations.Bucket { public class SamplerAggregationPage : ExampleBase { - [U(Skip = "Example not implemented")] + [U] [Description("aggregations/bucket/sampler-aggregation.asciidoc:19")] public void Line19() { // tag::28035a0e2a874f1b6739badf82a0ecc6[] - var response0 = new SearchResponse(); + var searchResponse = client.Search(s => s + .Index("stackoverflow") + .Query(q => q + .QueryString(qs => qs + .Query("tags:kibana OR tags:javascript") + ) + ) + .Aggregations(a => a + .Sampler("sample", s => s + .ShardSize(200) + .Aggregations(sa => sa + .SignificantTerms("keywords", k => k + .Field("tags") + .Exclude(new string[] { "kibana", "javascript" }) + ) + ) + ) + ) + .Size(0) + ); // end::28035a0e2a874f1b6739badf82a0ecc6[] - response0.MatchesExample(@"POST /stackoverflow/_search?size=0 + searchResponse.MatchesExample(@"POST /stackoverflow/_search?size=0 { ""query"": { ""query_string"": { @@ -40,18 +59,37 @@ public void Line19() } } } - }"); + }", (e, b) => + { + e.Uri.Query = e.Uri.Query.Replace("size=0", string.Empty); + b["size"] = 0; + }); } - [U(Skip = "Example not implemented")] + [U] [Description("aggregations/bucket/sampler-aggregation.asciidoc:88")] public void Line88() { // tag::279f7af39b62c7d278f9f10b1f107dc0[] - var response0 = new SearchResponse(); + var searchResponse = client.Search(s => s + .Index("stackoverflow") + .Query(q => q + .QueryString(qs => qs + .Query("tags:kibana OR tags:javascript") + ) + ) + .Aggregations(a => a + .SignificantTerms("low_quality_keywords", k => k + .Field("tags") + .Size(3) + .Exclude(new string[] { "kibana", "javascript" }) + ) + ) + .Size(0) + ); // end::279f7af39b62c7d278f9f10b1f107dc0[] - response0.MatchesExample(@"POST /stackoverflow/_search?size=0 + searchResponse.MatchesExample(@"POST /stackoverflow/_search?size=0 { ""query"": { ""query_string"": { @@ -67,7 +105,11 @@ public void Line88() } } } - }"); + }", (e, b) => + { + e.Uri.Query = e.Uri.Query.Replace("size=0", string.Empty); + b["size"] = 0; + }); } } }