Global Aggregation Usage

edit

Fluent DSL example

edit
a => a
.Global("all_projects", g => g
    .Aggregations(aa => aa
        .Terms("names", t => t
            .Field(p => p.Name)
        )
    )
)

Object Initializer syntax example

edit
new GlobalAggregation("all_projects")
{
    Aggregations = new TermsAggregation("names")
    {
        Field = Field<Project>(p => p.Name)
    }
}

Example json output.

{
  "all_projects": {
    "global": {},
    "aggs": {
      "names": {
        "terms": {
          "field": "name"
        }
      }
    }
  }
}

Handling Responses

edit
response.ShouldBeValid();
var allProjects = response.Aggregations.Global("all_projects");
allProjects.Should().NotBeNull();
var names = allProjects.Terms("names");
names.Should().NotBeNull();