public function testOrder() { $client = $this->_getClient(); $index = $client->getIndex('test'); $index->create(array(), true); $type = $index->getType('helloworld'); $doc = new Document(1, array('name' => 'tom', 'paid' => 7)); $type->addDocument($doc); $doc = new Document(2, array('name' => 'tom', 'paid' => 2)); $type->addDocument($doc); $doc = new Document(3, array('name' => 'tom', 'paid' => 5)); $type->addDocument($doc); $doc = new Document(4, array('name' => 'mike', 'paid' => 13)); $type->addDocument($doc); $doc = new Document(5, array('name' => 'mike', 'paid' => 1)); $type->addDocument($doc); $doc = new Document(6, array('name' => 'mike', 'paid' => 15)); $type->addDocument($doc); $facet = new TermsStats('test'); $facet->setKeyField('name'); $facet->setValueField('paid'); $facet->setOrder('reverse_total'); $query = new Query(); $query->addFacet($facet); $query->setQuery(new MatchAll()); $index->refresh(); $response = $type->search($query); $facets = $response->getFacets(); $this->assertEquals(14, $facets['test']['terms'][0]['total']); $this->assertEquals(29, $facets['test']['terms'][1]['total']); }