code: protected function processConnectionConfiguration(ContainerBuilder $container, array $config)
      {
          $alias = $this->getAlias();
  
          if (isset($config['default_connection'])) {
              $container->setParameter(
                  "{$alias}.default_connection",
                  $config['default_connection']
              );
          } elseif (!empty($config['connections'])) {
              reset($config['connections']);
              $container->setParameter(
                  "{$alias}.default_connection",
                  key($config['connections'])
              );
          }
  
          foreach ($config['connections'] as $name => $params) {
              $this->configureSearchServices($container, $name, $params);
              $this->configureBoostMap($container, $name, $params);
              $this->configureIndexingDepth($container, $name, $params);
  
              $container->setParameter("$alias.connection.$name", $params);
          }
  
          foreach ($config['endpoints'] as $name => $params) {
              $this->defineEndpoint($container, $name, $params);
          }
  
          // Search engine itself, for given connection name
          $searchEngineDef = $container->findDefinition(self::ENGINE_ID);
          $searchEngineDef->setFactory([new Reference('ezpublish.solr.engine_factory'), 'buildEngine']);
  
          // Factory for BoostFactorProvider uses mapping configured for the connection in use
          $boostFactorProviderDef = $container->findDefinition(self::BOOST_FACTOR_PROVIDER_ID);
          $boostFactorProviderDef->setFactory([new Reference('ezpublish.solr.boost_factor_provider_factory'), 'buildService']);
      }
docs: Processes connection configuration by flattening connection parameters
  and setting them to the container as parameters.
  
  @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
  @param array $config