ONGR Elasticsearch Bundle AWS连接问题

时间:2019-01-28 15:41:25

标签: symfony elasticsearch ongr

您好,我尝试连接到位于AWS上的ES indet,但仍然遇到错误。 [Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
You have requested a non-existent service "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 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);
    }

1 个答案:

答案 0 :(得分:0)

正确的服务名称为es.manager.default