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
...
我在 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
...