public function testSetShards() { $this->_distributedSearch->addShards(array('shard1' => 'localhost:8983/solr/shard1', 'shard2' => 'localhost:8983/solr/shard2')); $this->_distributedSearch->setShards(array('shard3' => 'localhost:8983/solr/shard3', 'shard4' => 'localhost:8983/solr/shard4', 'shard5' => 'localhost:8983/solr/shard5')); $shards = $this->_distributedSearch->getShards(); $this->assertEquals(3, count($shards)); $this->assertEquals(array('shard3' => 'localhost:8983/solr/shard3', 'shard4' => 'localhost:8983/solr/shard4', 'shard5' => 'localhost:8983/solr/shard5'), $shards); }
/** * Add request settings for DistributedSearch * * @param Solarium_Query_Select_Component_DistributedSearch $component * @param Solarium_Client_Request $request * @return Solarium_Client_Request */ public function build($component, $request) { // add shard fields to request $shards = array_values($component->getShards()); if (count($shards)) { $request->addParam('shards', implode(',', $shards)); } $request->addParam('shards.qt', $component->getShardRequestHandler()); return $request; }