ONGR Elasticsearch Bundle AWS 连接问题
ONGR Elasticsearch Bundle AWS Connection Issue
你好,我尝试连接到位于 AWS 上的 ES indet,但我仍然遇到错误。
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]<br>
您请求了一项不存在的服务 "es.managers.default".
我使用 Conposer 安装了包,如文档中所述。
然后在我的 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 来扩展我的包,这是我得到错误的地方。也许你们中有人遇到过同样的错误?
感谢您的帮助。
Class StatElasticExtension extends Extension
{
const YAML_FILES = [
'parameters.yml',
'config.yml',
'services.yml'
];
/**
* {@inheritdoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
$loader = new Loader\YamlFileLoader($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
。
你好,我尝试连接到位于 AWS 上的 ES indet,但我仍然遇到错误。
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]<br>
您请求了一项不存在的服务 "es.managers.default".
我使用 Conposer 安装了包,如文档中所述。 然后在我的 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 来扩展我的包,这是我得到错误的地方。也许你们中有人遇到过同样的错误? 感谢您的帮助。
Class StatElasticExtension extends Extension
{
const YAML_FILES = [
'parameters.yml',
'config.yml',
'services.yml'
];
/**
* {@inheritdoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
$loader = new Loader\YamlFileLoader($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
。