Exemplo n.º 1
0
 /**
  * Tests performing a facetted search without getting results at the same time
  */
 public function testFacetsWithoutResults()
 {
     $connection = new ASolrConnection();
     $connection->clientOptions->hostname = SOLR_HOSTNAME;
     $connection->clientOptions->port = SOLR_PORT;
     $connection->clientOptions->path = SOLR_PATH;
     $doc = new SolrInputDocument();
     $doc->addField('id', 334455);
     $doc->addField('cat', 'Software');
     $doc->addField('cat', 'Lucene');
     $doc->addField("popularity", 20);
     $doc->addField("incubationdate_dt", date("Y-m-d\\TH:i:s\\Z"));
     $this->assertTrue($connection->index($doc));
     $this->assertTrue($connection->commit());
     $criteria = new ASolrCriteria();
     $criteria->query = "lucene";
     $criteria->offset = 0;
     $criteria->limit = 0;
     $criteria->facet = true;
     $criteria->addFacetField("cat")->addFacetField("name");
     $criteria->addFacetDateField("incubationdate_dt");
     $criteria->facetDateStart = "2005-10-10T00:00:00Z";
     $criteria->facetDateEnd = "2015-10-10T00:00:00Z";
     $criteria->facetDateGap = "+12MONTH";
     $criteria->addFacetQuery("popularity:[* TO 10]");
     $criteria->addFacetQuery("popularity:[10 TO 20]");
     $criteria->addFacetQuery("popularity:[20 TO *]");
     $response = $connection->search($criteria);
     $this->assertTrue($response instanceof ASolrQueryResponse);
     $this->assertTrue(isset($response->getDateFacets()->incubationdate_dt));
     $this->assertTrue($response->getDateFacets()->incubationdate_dt instanceof ASolrFacet);
     $results = $response->getResults();
     $this->assertEquals(0, count($results));
     $this->assertTrue($connection->delete(334455));
     $this->assertTrue($connection->commit());
 }