gpt4 book ai didi

php - FOSElastica + JMs序列化器格式错误

转载 作者:行者123 更新时间:2023-12-02 22:28:56 25 4
gpt4 key购买 nike

我用他们的Docker镜像安装了ElasticSearch 6,并且一切正常。

然后,我像文档中所述安装并配置了FOSElastica。

这是fos_elastica的以下配置

fos_elastica:
clients:
default: { host: '%env(ELASTICSEARCH_HOST)%', port: '%env(ELASTICSEARCH_PORT)%' }
serializer:
serializer: jms_serializer
indexes:
app:
client: default
types:
user:
serializer:
groups: [elastica]
persistence:
driver: orm
model: AppBundle\Entity\User
provider: ~
listener: ~
finder: ~

还有我的User实体的模型,用于将 elastica序列化程序组分配给某个字段
AppBundle\Entity\User:
exclusion_policy: ALL
properties:
firstname:
expose: true
groups: [elastica, list, details]
lastname:
expose: true
groups: [elastica, list, details]
locale:
expose: true
groups: [elastica, details]

序列化程序对于我的API运作良好,并且配置合理
 jms_serializer:
metadata:
auto_detection: true
directories:
AppBundle:
namespace_prefix: 'AppBundle'
path: '%kernel.project_dir%/config/serializer'

当我尝试填充ElasticSearch时,我认为有一个严重的序列化错误
In Http.php line 181:

[Elastica\Exception\ResponseException]
Malformed action/metadata line [3], expected START_OBJECT but found [VALUE_STRING]

我尝试在fos_elastica配置中使用 properties.type配置设置字段类型,但没有成功。

我尝试使用另一个实体,但遇到相同的错误。

大约1年前,我已经在FOSElasticaBundle上进行过同一项目的工作,并且人群正在工作...

如果存在JMSSerializer / FOSElastica错误或配置错误,我没有成功找到问题所在

我是否错过了配置中的某些内容?你已经有这个问题了吗?

最佳答案

我有一个类似的问题。这是原始的 flex 配置(产生此错误)。

fos_elastica:
clients:
default: { host: '%env(ELASTICSEARCH_HOST)%', port: '%env(ELASTICSEARCH_PORT)%' }
serializer:
serializer: jms_serializer
indexes:
app:
finder: ~
types:
goods:
properties:
name: { type: text }
brand: { type: text }
cost: { type: float }
category:
type: "object"
properties:
id: ~
name: ~
goodsDescriptions:
type: "object"
properties:
id: ~
name: ~
description: ~
persistence:
driver: orm
model: App\Entity\Goods\Goods
provider: ~
finder: ~
repository: App\SearchRepository\GoodsRepository

但是,我在供应商的Foselastic内爬了很长时间,发现添加它的数据是基于jms_serializer的,这很明显,但是当时我以为是。通过删除此序列化,它可以工作。
我们有不同的设置,但也许它会给您一个想法。

关于php - FOSElastica + JMs序列化器格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50179210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com