你好,我试图连接到位于AWS上的ES inset,但我仍然得到他的错误。 [SymfonyComponentDependencyInjectionExceptionServiceNotFoundException]
You have requested a non-existent service "es.managers.default".
我使用 Conposer 安装了捆绑包,如文档中所述。然后添加了一个配置部件 Tom my config.ylm
ongr_elasticsearch:
managers:
default:
index:
index_name: contents
hosts:
- https://search-***.es.amazonaws.com:443
mappings:
- StatElasticBundle
我有一个 awsaccesskey 和一个 awssecretkey,但我现在不知道必须将它们放在哪里,所以我在 parameters.yml 中创建了一个aws_connection部分并尝试加载它
然后我尝试在我的SymfonyBundle中建立连接,并在我的Bundle->DepandencyInjection文件夹中创建了一个类来扩展我的捆绑包,这就是我得到错误的地方。梅比,你们中的某个人与同样的错误作斗争?感谢您的帮助。
Class StatElasticExtension extends Extension
{
const YAML_FILES = [
'parameters.yml',
'config.yml',
'services.yml'
];
/**
* {@inheritdoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
$loader = new LoaderYamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
foreach (self::YAML_FILES as $yml) {
$loader->load($yml);
}
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$serviceDefinition = $container->getDefinition('es.managers.default');
$awsConnections = $container->getParameter('aws_connections');
$elasticsearchClient = $this->getClient($awsConnections);
$serviceDefinition->replaceArgument(2, $elasticsearchClient);
}
正确的服务名称是 es.manager.default
。