示例#1
0
 public function test_bucket()
 {
     $queryParams = array();
     $queryParams["fl"] = "uniqueId";
     $queryParams["stats"] = "price";
     $response = Unbxd::getSearchClient()->bucket("*", "category", $queryParams)->addTextFilter("category_fq", array("men"))->addTextFilter("brand_fq", array("abercrombie"))->addRangeFilter("price_fq", "1000", "2000")->addRangeFilter("price_fq", "2000", "3000")->addSort("price", new SortDir(SortDir::ASC))->setPage(0, 10)->execute();
     $this->assertNotNull($response);
     $this->assertEquals(0, $response->getStatusCode());
     $this->assertNotEquals(0, $response->getQueryTime());
     $this->assertEquals(0, $response->getErrorCode());
     $this->assertEquals("OK", $response->getMessage());
     $this->assertNotEquals(1, $response->getTotalResultsCount());
     $this->assertNull($response->getResults());
     $this->assertEquals(1, $response->getBuckets()->getNumberOfBuckets());
     $bucket = $response->getBuckets()->getBuckets();
     $this->assertNotEquals(0, $bucket[0]->getTotalResultsCount());
     $this->assertEquals(1, count($bucket[0]->getResults()->getAt(0)->getAttributes()));
     $attr = $bucket[0]->getResults()->getAt(0)->getAttributes();
     $this->assertNotNull($attr["uniqueId"]);
     $this->assertNotNull($response->getStats());
     $this->assertNotNull($response->getStats()->getStat("price")->getMin());
     $this->assertGreaterThanOrEqual(1000, $response->getStats()->getStat("price")->getmin());
     $this->assertLessThanOrEqual(3000, $response->getStats()->getStat("price")->getmax());
 }