Example #1
0
 private function initialize_replysets($replysets, AfsQuery $query, AfsHelperConfiguration $config)
 {
     foreach ($replysets as $replyset) {
         if (property_exists($replyset, 'meta') && property_exists($replyset->meta, 'producer')) {
             $producer = $replyset->meta->producer;
             if ($producer == AfsProducer::SEARCH) {
                 if ('Promote' == $replyset->meta->uri) {
                     $this->promote = new AfsPromoteReplysetHelper($replyset, $this->config);
                 } else {
                     $replyset_helper = new AfsReplysetHelper($replyset, $query, $config);
                     $feed = $replyset_helper->get_meta()->get_feed();
                     if ($config->is_array_format()) {
                         $this->replysets[$feed] = $replyset_helper->format();
                     } else {
                         $this->replysets[$feed] = $replyset_helper;
                     }
                 }
             } elseif ($producer == AfsProducer::SPELLCHECK) {
                 $this->spellcheck_mgr->add_spellcheck($replyset);
             } elseif ($producer == AfsProducer::CONCEPT) {
                 $this->concepts->add_concept($replyset);
             }
         }
     }
     if ($config->is_array_format()) {
         if (!is_null($this->promote)) {
             $this->promote = $this->promote->format();
         }
     }
 }
Example #2
0
 public function testClusteringAsArray()
 {
     $input = $this->get_cluster_input_data();
     $config = new AfsHelperConfiguration();
     $query = new AfsQuery();
     $helper = new AfsReplysetHelper($input->replySet[0], $query, $config);
     $result = $helper->format();
     $this->assertEquals('marketing', $result['meta']['cluster']);
     $this->assertEquals('Marketing', $result['meta']['cluster_label']);
     $clusters = $result['clusters'];
     $this->assertFalse(empty($clusters));
     $this->assertEquals(2, count($clusters));
     # First cluster from list of clusters
     $cluster = each($clusters);
     $this->assertEquals('"OPERATION_8"', $cluster['key']);
     $cluster = $cluster['value'];
     $this->assertEquals('"OPERATION_8"', $cluster['id']);
     $this->assertEquals('OPERATION_8', $cluster['label']);
     $replies = $cluster['replies'];
     $this->assertFalse(empty($replies));
     $this->assertEquals(1, count($replies));
     $this->assertEquals('166_en', $replies[0]['uri']);
     # Second cluster from list of clusters
     $cluster = each($clusters);
     $this->assertEquals('"OPERATION_9"', $cluster['key']);
     $cluster = $cluster['value'];
     $this->assertEquals('"OPERATION_9"', $cluster['id']);
     $this->assertEquals('5% sur les produtis textiles de plus de 100 euros', $cluster['label']);
     $replies = $cluster['replies'];
     $this->assertFalse(empty($replies));
     $this->assertEquals(1, count($replies));
     $this->assertEquals('112_fr', $replies[0]['uri']);
     # Overspill
     $replies = $result['replies'];
     $this->assertFalse(empty($replies));
     $this->assertEquals(1, count($replies));
     $reply = $replies[0];
     $this->assertEquals('165_en', $reply['uri']);
 }