-
Aivaras Gotovskis authoredAivaras Gotovskis authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Ipv4Range.md 1.58 KiB
Ipv4 Range Aggregation
More info about ipv4 range aggregation is in the official elasticsearch docs
Just like the dedicated date range aggregation, there is also a dedicated range aggregation for IPv4 typed fields.
Simple example
{
"aggregations" : {
"agg_ip_range" : {
"ip_range" : {
"field" : "ip",
"ranges" : [
{ "to" : "10.0.0.5" },
{ "from" : "10.0.0.5" }
]
}
}
}
}
And now the query via DSL:
$ipv4RangeAggregation = new Ipv4RangeAggregation(
'ip_range',
'ip',
[
['to' => '10.0.0.5'],
['from' => '10.0.0.5'],
]
);
$search = new Search();
$search->addAggregation($ipv4RangeAggregation);
$queryArray = $search->toArray();
Example using masks
$ipv4RangeAggregation = new Ipv4RangeAggregation(
'ip_range',
'ip',
['10.0.0.0/25']
);
$search = new Search();
$search->addAggregation($ipv4RangeAggregation);
$queryArray = $search->toArray();
Example using adders
$ipv4RangeAggregation = new Ipv4RangeAggregation('ip_range', 'ip');
$ipv4RangeAggregation->addMask('10.0.0.0/25');
$ipv4RangeAggregation->addRange(null, '10.0.0.5');
$ipv4RangeAggregation->addRange('10.0.0.5');
$ipv4RangeAggregation->addRange('10.0.0.0', '10.0.0.127');
$search = new Search();
$search->addAggregation($ipv4RangeAggregation);
$queryArray = $search->toArray();