addFilter() public method

If a name is given, it will be added as a key, otherwise considered as an anonymous filter
public addFilter ( Elastica\Query\AbstractQuery $filter, string $name = null )
$filter Elastica\Query\AbstractQuery
$name string
Example #1
0
 /**
  * @group functional
  */
 public function testFilterAggregation()
 {
     $agg = new Filters('by_color');
     $agg->addFilter(new Term(array('color' => 'blue')), 'blue');
     $agg->addFilter(new Term(array('color' => 'red')), 'red');
     $avg = new Avg('avg_price');
     $avg->setField('price');
     $agg->addAggregation($avg);
     $query = new Query();
     $query->addAggregation($agg);
     $results = $this->_getIndexForTest()->search($query)->getAggregation('by_color');
     $resultsForBlue = $results['buckets']['blue'];
     $resultsForRed = $results['buckets']['red'];
     $this->assertEquals(2, $resultsForBlue['doc_count']);
     $this->assertEquals(1, $resultsForRed['doc_count']);
     $this->assertEquals((5 + 8) / 2, $resultsForBlue['avg_price']['value']);
     $this->assertEquals(1, $resultsForRed['avg_price']['value']);
 }