diff --git a/changes.txt b/changes.txt index 06c579e3dc..3b4f8aec99 100755 --- a/changes.txt +++ b/changes.txt @@ -1,5 +1,8 @@ CHANGES +2014-04-09 +- Added Cardinality aggregation + 2014-04-7 - Support for Terms filter lookup options diff --git a/lib/Elastica/Aggregation/Cardinality.php b/lib/Elastica/Aggregation/Cardinality.php new file mode 100755 index 0000000000..061ddafa5d --- /dev/null +++ b/lib/Elastica/Aggregation/Cardinality.php @@ -0,0 +1,14 @@ +_index = $this->_createIndex("cardinality"); + $docs = array( + new Document("1", array("color" => "blue")), + new Document("2", array("color" => "blue")), + new Document("3", array("color" => "red")), + new Document("4", array("color" => "green")), + ); + $this->_index->getType("test")->addDocuments($docs); + $this->_index->refresh(); + } + + public function testCardinalityAggregation() + { + $agg = new Cardinality("cardinality"); + $agg->setField("color"); + + $query = new Query(); + $query->addAggregation($agg); + $results = $this->_index->search($query)->getAggregation("cardinality"); + + $this->assertEquals(3, $results['value']); + } +} +