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

The child node "transport" at path "enqueue_elastica" must be configured

在带有 friendsofsymfony/elastica-bundle 5.1.0、enqueue/elastica-bundle 0.9.3 和 enqueue/fs 0.9.12 的 Symfony 4.3 应用程序中,后者的安装结束于:

The child node "transport" at path "enqueue_elastica" must be configured.

我在 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 失败。

看似正确的配置有:

.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: ~

虽然上面避免了任何错误被抛出,但它不允许填充完成。我正式卡住了。是时候考虑降低索引复杂性和多索引搜索了。

你应该添加

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

在您的 enqueue.yaml 配置中