ONGR Elasticsearch Bundle AWS Connection Issue



你好,我试图连接到位于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

相关内容

  • 没有找到相关文章

最新更新