Elastica\Aggregation\IpRange::addMaskRange PHP Method

addMaskRange() public method

Add an ip range in the form of a CIDR mask.
public addMaskRange ( string $mask )
$mask string a valid CIDR mask
    public function addMaskRange($mask)
    {
        return $this->addParam('ranges', ['mask' => $mask]);
    }

Usage Example

 public function testIpRangeAggregation()
 {
     $agg = new IpRange("ip", "address");
     $agg->addRange("192.168.1.101");
     $agg->addRange(null, "192.168.1.200");
     $cidrRange = "192.168.1.0/24";
     $agg->addMaskRange($cidrRange);
     $query = new Query();
     $query->addAggregation($agg);
     $results = $this->_index->search($query)->getAggregation("ip");
     foreach ($results['buckets'] as $bucket) {
         if (array_key_exists('key', $bucket) && $bucket['key'] == $cidrRange) {
             // the CIDR mask
             $this->assertEquals(3, $bucket['doc_count']);
         } else {
             // the normal ip ranges
             $this->assertEquals(2, $bucket['doc_count']);
         }
     }
 }