2017-03-09 11 views
1
$client = $this->solr->getClient(); 
     $query = $client->createSelect(); 
     $facetSet = $query->getFacetSet(); 
     $facetSet->createFacetField('id')->setField('publication_year'); 

     $facet = $facetSet->createFacetRange('yearsranges'); 
     $facet->setField('publication_year'); 

     $facet->setStart(--MIN DATE VALUE--); 
     $facet->setGap(--I NEED TO MAKE RANGE OF 10 YEARS--); 
     $facet->setEnd(--NOW DATE TIME--); 

     $solrQuery = '*:*'; 

     $query->setQuery($solrQuery); 
     $query->setRows(0); 

     $data = $client->select($query)->getFacetSet()->getFacet('yearsranges'); 

     dump($data); 
     die; 

SolrのファセットでのSolrコレクション内の 「PUBLICATION_YEAR」フィールドを日付の範囲を作るために有効である場合には、第1、あなたを聞いてみよう。この日付は実際にはこの形式の文字列です。symfonyのサンバンドル日時範囲

"2009-10-29T23:00:00Z" 

答えて

4

はい、それは有効なのですか、単にクエリフィルタを使用します。

$facet->createQuery('createdate:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]'); 
:面について

$createQuery->createFilterQuery('range')->setQuery('createdate:[1995-12-31T23:59:59.999Z TO 2007-03-06T00:00:00Z]');