setFilter() public method

Set the filter for this aggregation.
public setFilter ( Elastica\Query\AbstractQuery $filter )
$filter Elastica\Query\AbstractQuery
 public function testFilterAggregation()
 {
     $agg = new Filter("filter");
     $agg->setFilter(new Term(array("color" => "blue")));
     $avg = new Avg("price");
     $avg->setField("price");
     $agg->addAggregation($avg);
     $query = new Query();
     $query->addAggregation($agg);
     $results = $this->_index->search($query)->getAggregation("filter");
     $results = $results['price']['value'];
     $this->assertEquals((5 + 8) / 2.0, $results);
 }
Example #2
0
 /**
  * @group functional
  */
 public function testFilterAggregation()
 {
     $agg = new Filter('filter');
     $agg->setFilter(new Term(array('color' => 'blue')));
     $avg = new Avg('price');
     $avg->setField('price');
     $agg->addAggregation($avg);
     $query = new Query();
     $query->addAggregation($agg);
     $results = $this->_getIndexForTest()->search($query)->getAggregation('filter');
     $results = $results['price']['value'];
     $this->assertEquals((5 + 8) / 2.0, $results);
 }
Example #3
0
    /**
     * filter aggregation
     *
     * @link http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-bucket-filter-aggregation.html
     * @param  string            $name
     * @param  AbstractFilter    $filter
     * @return FilterAggregation
     */
    public function filter($name, AbstractFilter $filter)
    {
        $filterAgg = new FilterAggregation($name);
        $filterAgg->setFilter($filter);

        return $filterAgg;
    }