FOSElasticaBundle索引使Symfony停止

FOSElasticaBundle索引使Symfony停止,symfony,elastica,foselasticabundle,Symfony,Elastica,Foselasticabundle,使用FOSElasticaBundle在ElasticSearch中为事物建立索引是不起作用的 以下是我的配置文件(app/config/config.yml): 当我注释掉所有这些,使其不在ES中索引时,一切都会正常工作。但是,当config.yml-file中存在此项,并且我使用表单发布了一个实体时,计算机风扇会疯狂地运行两分钟,并返回以下响应: “FatalErrorException:错误:超出了120秒的最长执行时间” 当我更改config.yml-settings以使我发布的特定实

使用FOSElasticaBundle在ElasticSearch中为事物建立索引是不起作用的

以下是我的配置文件(app/config/config.yml):

当我注释掉所有这些,使其不在ES中索引时,一切都会正常工作。但是,当config.yml-file中存在此项,并且我使用表单发布了一个实体时,计算机风扇会疯狂地运行两分钟,并返回以下响应:

“FatalErrorException:错误:超出了120秒的最长执行时间”

当我更改config.yml-settings以使我发布的特定实体不在被索引到ES的实体中时,一切都会正常工作,但是索引ES中的一个数据库行就足以使服务器停止

如果数据库为空,
php-app/console-fos:elastica:populate
-命令将完成,我还使它工作了一次或两次,其中一个数据库行被索引为ES,但即使数据库中有相当少量的数据,风扇也会疯狂地运行数分钟而不会通过
重置网站
(运行populate命令时终端打印的第一行)

有助于理解问题所在的事项:

  • 我以前在这个项目中成功地实现了ES集成。为数据库编制索引,为添加到数据库中的新事物编制索引,在ES中搜索——所有这些看起来都很有魅力。但是ES集成一直保留在一个特定的git分支上,以前没有与主项目合并过,现在它无法正常工作尼莫尔

  • 在将ES集成分支与主分支(主分支)合并之前,主分支已经使用了FOSRestBundle

  • 团队中拉主分支的其他人也有同样的问题,所以问题似乎出在项目代码上,而不是我的ElasticSearch节点上(尽管我不能确定)

你们中有谁知道可能出了什么问题吗?任何帮助都将被深深地感谢


如果更多信息或更多代码部分有助于识别错误,我当然很乐意为您提供这些信息。

当序列化的对象为时,问题是由循环引用引起的:


如果您有类似的问题,您可以通过修改使用注释序列化的属性来解决:。

新发现让我们怀疑这与循环引用有关。如果有,我将发布一个答案,详细说明问题是如何解决的。
fos_elastica:
    clients:
        default: { host: localhost, port: 9200 }
    serializer:
        callback_class: FOS\ElasticaBundle\Serializer\Callback
        serializer: serializer
    indexes:
        website:
            client: default
            types:
                idea:
                    mappings:
                        title: { boost: 6 }
                    persistence:
                        driver: orm
                        model: Ideside\IdeaBundle\Entity\Idea
                        provider: ~
                        finder: ~
                        listener: ~