FosElasticaBundle:如何转储传递给 ElasticSearch 的实际 JSON?

FosElasticaBundle: how to dump the actual JSON passed to ElasticSearch?

我在 Symfony 项目中使用 FosElasticaBundle。我配置了我的映射,但出现异常 "expected a simple value for field [_id] but found [START_OBJECT]]"。

我想看看 FosElasticaBundle 创建的实际 JSON,这样我就可以直接针对我的 ElasticSearch 服务器对其进行测试,并了解有关异常的更多信息。

根据 FosElastica documentation,启用调试模式(即在 DEV 环境中)时应记录所有内容,但我看不到这种情况;我只看到 Doctrine 查询,但没有 JSON。

如何转储由 FosElasticaBundle 创建的 JSON?

更新:映射

# FOSElasticaBundle
fos_elastica:
    clients:
        default: { host: %elasticsearch_host%, port: %elasticsearch_port%, logger: false }
    indexes:
        app:
            types:
                user:
                    mappings:
                        name: ~
                        surname: ~
                    persistence:
                        driver: orm
                        model: AppBundle\Entity\User
                        provider: ~
                        listener: ~
                        finder: ~

我认为您应该只将 logger 设置为 true 而不是 false

fos_elastica:
    clients:
        default:
            host: %elasticsearch_host%
            port: %elasticsearch_port%
            logger: true                        <---- set true here
    ...