private function configureSearchServices(ContainerBuilder $container, $connectionName, $connectionParams)
{
$alias = $this->getAlias();
// Http client
$httpClientId = static::HTTP_CLIENT_ID . ".{$connectionName}";
$httpClientDef = new DefinitionDecorator(self::HTTP_CLIENT_ID);
$httpClientDef->replaceArgument(0, $connectionParams['server']);
$container->setDefinition($httpClientId, $httpClientDef);
// Content search gateway
$contentSearchGatewayDef = new DefinitionDecorator(self::CONTENT_SEARCH_GATEWAY_ID);
$contentSearchGatewayDef->replaceArgument(0, new Reference($httpClientId));
$contentSearchGatewayDef->replaceArgument(5, $connectionParams['index_name']);
$contentSearchGatewayId = self::CONTENT_SEARCH_GATEWAY_ID . ".{$connectionName}";
$container->setDefinition($contentSearchGatewayId, $contentSearchGatewayDef);
// Location search gateway
$locationSearchGatewayDef = new DefinitionDecorator(self::LOCATION_SEARCH_GATEWAY_ID);
$locationSearchGatewayDef->replaceArgument(0, new Reference($httpClientId));
$locationSearchGatewayDef->replaceArgument(5, $connectionParams['index_name']);
$locationSearchGatewayId = self::LOCATION_SEARCH_GATEWAY_ID . ".{$connectionName}";
$container->setDefinition($locationSearchGatewayId, $locationSearchGatewayDef);
$container->setParameter("{$alias}.connection.{$connectionName}.content_document_type_identifier", $connectionParams['document_type_name']['content']);
$container->setParameter("{$alias}.connection.{$connectionName}.location_document_type_identifier", $connectionParams['document_type_name']['location']);
}