Stats Aggregation Usage

edit

Fluent DSL example

edit
s => s
.Aggregations(a => a
    .Stats("commit_stats", st => st
        .Field(p => p.NumberOfCommits)
    )
)

Object Initializer syntax example

edit
new SearchRequest<Project>
{
    Aggregations = new StatsAggregation("commit_stats", Field<Project>(p => p.NumberOfCommits))
}

Example json output.

{
  "aggs": {
    "commit_stats": {
      "stats": {
        "field": "numberOfCommits"
      }
    }
  }
}

Handling Responses

edit
response.ShouldBeValid();
var commitStats = response.Aggs.Stats("commit_stats");
commitStats.Should().NotBeNull();
commitStats.Average.Should().BeGreaterThan(0);
commitStats.Max.Should().BeGreaterThan(0);
commitStats.Min.Should().BeGreaterThan(0);
commitStats.Count.Should().BeGreaterThan(0);
commitStats.Sum.Should().BeGreaterThan(0);