IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Ip Range Aggregation Usage
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Ip Range Aggregation Usage
editFluent DSL example
edita => a
.IpRange("ip_ranges", ip => ip
.Field(p => p.LeadDeveloper.IpAddress)
.Ranges(
r => r.To("127.0.0.1"),
r => r.From("127.0.0.1")
)
)
Object Initializer syntax example
editnew IpRangeAggregation("ip_ranges")
{
Field = Field((Project p) => p.LeadDeveloper.IpAddress),
Ranges = new List<IpRangeAggregationRange>
{
new IpRangeAggregationRange { To = "127.0.0.1" },
new IpRangeAggregationRange { From = "127.0.0.1" }
}
}
Example json output.
{
"ip_ranges": {
"ip_range": {
"field": "leadDeveloper.ipAddress",
"ranges": [
{
"to": "127.0.0.1"
},
{
"from": "127.0.0.1"
}
]
}
}
}
Handling Responses
editresponse.ShouldBeValid();
var ipRanges = response.Aggregations.IpRange("ip_ranges");
ipRanges.Should().NotBeNull();
ipRanges.Buckets.Should().NotBeNull();
ipRanges.Buckets.Count.Should().Be(2);
ipRanges.Buckets.First().To.Should().Be("127.0.0.1");
ipRanges.Buckets.Last().From.Should().Be("127.0.0.1");
foreach (var range in ipRanges.Buckets)
{
range.Key.Should().NotBeNullOrEmpty();
range.DocCount.Should().BeGreaterThan(0);
}