/**
  * @param Pimple\Container $container [description]
  */
 public function register(Container $container)
 {
     $container['solr'] = function ($c) {
         if (isset($c['config']['solr']['endpoint'])) {
             $solrService = new \Solarium\Client($c['config']['solr']);
             $solrService->setDefaultEndpoint('localhost');
             return $solrService;
         } else {
             return null;
         }
     };
     $container['solr.ready'] = function ($c) {
         if (null !== $c['solr']) {
             // create a ping query
             $ping = $c['solr']->createPing();
             // execute the ping query
             try {
                 $c['solr']->ping($ping);
                 return true;
             } catch (\Exception $e) {
                 return false;
             }
         } else {
             return false;
         }
     };
     $container['solr.search.nodeSource'] = function ($c) {
         if ($c['solr.ready']) {
             return new FullTextSearchHandler($c['solr'], $c['em']);
         } else {
             return null;
         }
     };
     return $container;
 }