Ip Range Aggregation Usageedit
Fluent DSL Exampleedit
s => s
.Aggregations(a => a
.IpRange("ip_ranges", ip => ip
.Field(p => p.LeadDeveloper.IPAddress)
.Ranges(
r => r.To("10.0.0.5"),
r => r.From("10.0.0.5")
)
)
)Object Initializer Syntax Exampleedit
new SearchRequest<Project>
{
Aggregations = new IpRangeAggregation("ip_ranges")
{
Field = Field((Project p) => p.LeadDeveloper.IPAddress),
Ranges = new List<Nest.IpRange>
{
new Nest.IpRange { To = "10.0.0.5" },
new Nest.IpRange { From = "10.0.0.5" }
}
}
}Example json output.
{
"aggs": {
"ip_ranges": {
"ip_range": {
"field": "leadDeveloper.iPAddress",
"ranges": [
{
"to": "10.0.0.5"
},
{
"from": "10.0.0.5"
}
]
}
}
}
}
Handling Responsesedit
response.ShouldBeValid();
var ipRanges = response.Aggs.IpRange("ip_ranges");
ipRanges.Should().NotBeNull();
ipRanges.Buckets.Should().NotBeNull();
ipRanges.Buckets.Count.Should().BeGreaterThan(0);
foreach (var range in ipRanges.Buckets)
range.DocCount.Should().BeGreaterThan(0);