Commit 275056b6 authored by Bas de Nooijer's avatar Bas de Nooijer

Added truncate param to grouping component

parent 5c2adfa1
......@@ -65,6 +65,7 @@ class Solarium_Client_RequestBuilder_Select_Component_Grouping
$request->addParam('group.main', $component->getMainResult());
$request->addParam('group.ngroups', $component->getNumberOfGroups());
$request->addParam('group.cache.percent', $component->getCachePercentage());
$request->addParam('group.truncate', $component->getTruncate());
return $request;
}
......
......@@ -382,4 +382,28 @@ class Solarium_Query_Select_Component_Grouping extends Solarium_Query_Select_Com
return $this->getOption('cachepercentage');
}
/**
* Set truncate option
*
* If true, facet counts are based on the most relevant document of each group matching the query.
* Same applies for StatsComponent. Default is false. Only available from Solr 3.4
*
* @param boolean $value
* @return Solarium_Query_Select_Component_Grouping Provides fluent interface
*/
public function setTruncate($value)
{
return $this->_setOption('truncate', $value);
}
/**
* Get truncate option
*
* @return boolean|null
*/
public function getTruncate()
{
return $this->getOption('truncate');
}
}
\ No newline at end of file
......@@ -46,6 +46,7 @@ class Solarium_Client_RequestBuilder_Select_Component_GroupingTest extends PHPUn
$component->setMainResult(true);
$component->setNumberOfGroups(false);
$component->setCachePercentage(50);
$component->setTruncate(true);
$request = $builder->build($component, $request);
......@@ -60,6 +61,7 @@ class Solarium_Client_RequestBuilder_Select_Component_GroupingTest extends PHPUn
'group.main' => 'true',
'group.ngroups' => 'false',
'group.cache.percent' => 50,
'group.truncate' => 'true',
),
$request->getParams()
);
......
......@@ -53,6 +53,7 @@ class Solarium_Query_Select_Component_GroupingTest extends PHPUnit_Framework_Tes
'mainresult' => false,
'numberofgroups' => true,
'cachepercentage' => 45,
'truncate' => true,
);
$this->_grouping->setOptions($options);
......@@ -65,6 +66,7 @@ class Solarium_Query_Select_Component_GroupingTest extends PHPUnit_Framework_Tes
$this->assertEquals($options['mainresult'], $this->_grouping->getMainResult());
$this->assertEquals($options['numberofgroups'], $this->_grouping->getNumberOfGroups());
$this->assertEquals($options['cachepercentage'], $this->_grouping->getCachePercentage());
$this->assertEquals($options['truncate'], $this->_grouping->getTruncate());
}
public function testGetType()
......@@ -196,4 +198,15 @@ class Solarium_Query_Select_Component_GroupingTest extends PHPUnit_Framework_Tes
);
}
public function testSetAndGetTruncate()
{
$value = true;
$this->_grouping->setTruncate($value);
$this->assertEquals(
$value,
$this->_grouping->getTruncate()
);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment