必须配置路径“ enqueue_elastica”处的子节点“ transport”

时间:2019-07-26 20:04:54

标签: php symfony elasticsearch enqueue

在具有friendsofsymfony/elastica-bundle 5.1.0,enqueue/elastica-bundle 0.9.3和enqueue/fs 0.9.12的Symfony 4.3应用程序中,后者的安装以以下结尾:

  

路径“ enqueue_elastica”处的子节点“ transport”必须为   配置。

我在enqueue.yaml中尝试了多种排列,包括我发现的the only example

enqueue.yaml:

enqueue:
    default:
        transport: '%env(resolve:ENQUEUE_DSN)%'
        client: ~

.env包括:

###> enqueue/enqueue-bundle ###
ENQUEUE_DSN=null://
###< enqueue/enqueue-bundle 

Elasticsearch 6.8已安装。相对简单的索引很容易创建。更加复杂的索引会因内存不足而失败-因此需要enqueue

enqueue.yaml对于文件系统传输的适当配置是什么?

编辑:奇怪的是,Ubuntu 18 Hyper-V虚拟机能够在没有enqueue的情况下遍历填充,而Windows主机在94200/156865处失败。

2 个答案:

答案 0 :(得分:0)

看似正确的配置具有:

.env:

...
###> enqueue/enqueue-bundle ###
ENQUEUE_DSN="file://%VAR_DIR%/enqueue"
###< enqueue/enqueue-bundle ###

这需要伴随

enqueue.yaml:

enqueue:
    default:
        transport:
            dsn: '%env(resolve:ENQUEUE_DSN)%'
            path: '%kernel.project_dir%/var/queue' ## probably just a placeholder
        client: ~

尽管上述操作避免了引发任何错误,但不允许填充完成。我被正式困住了。是时候降低索引复杂性和多索引搜索了。

答案 1 :(得分:0)

您应该添加

enqueue_elastica:
    transport: '%enqueue.default_transport%'
    doctrine: ~

在您的enqueue.yaml配置中