2017-02-28 82 views
0

好吧,我有點困惑。在ruflin/elastica中添加過濾器到DateHistogram集合

創建聚集如下:

$aggregation = new DateHistogram('clicks_by_day', 'date', 'day'); 
$query->addAggregation($aggregation); 

現在,在這個集合,我想範圍過濾器應用於此聚集。 (點擊價格大於0)。

所以我有點困惑如何實際做到這一點?沒有setFilter方法,我雖然會這樣做。

任何人都可以幫助我嗎?

回答

0

找到了自己,在這裏是如何工作的:

  1. 創建過濾器:

    $filter = new Filter('paid', new Query\Range('price', ['gt' => 0])); 
    
  2. 創建聚集:

    $aggregation = new DateHistogram('clicks_by_day', 'date', 'day');

  3. 添加聚集過濾:

    $aggregation = $filter->addAggregation($aggregation);

最後一步返回施加濾波器的聚集。螞蟻它按預期工作。