Elastica with FOS:ElasticsearchIllegalArgumentException

时间:2015-05-26 14:45:22

标签: php symfony doctrine-orm elastica foselasticabundle

在我的symfony2 / doctrine 2应用程序中,运行fos时出错:elastica:populate:

  

[弹性曲线\异常\散装\ ResponseException]
  一个或多个批量请求操作出错:
  index:/ foodmeup / offer / 4导致MapperParsingException [无法解析   [res ponsibilities]];嵌套:   ElasticsearchIllegalArgumentException [unknown prop erty [0]];

我的配置如下,我设置了type:string to responsibility,它实际上是一个doctrine json数组:

offer:
    mappings:
        name: { type: string, boost: 10}
        content: { type: string }
        responsibilities: { type: string }
        skills:
            type: "nested"
            properties:
                name: { type: string }
        contractType:
            type: "nested"
            properties:
                name: { type: string }
        position:
            type: "nested"
            properties:
                name: { type: string, boost: 10 }

我的实体映射:

/**
 * @ORM\Column(type="json_array", nullable=false)
 */
protected $responsibilities = array();

我该怎么做才能解决这个问题?我试过"〜"而不是"字符串"但同样的问题出现了,当我只删除配置行的职责时,它运作良好。

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为您应该使用一些变形金刚,因为您的数据类型不同。 我真的建议你阅读这篇文章: http://obtao.com/blog/2014/05/advanced-indexing-with-elasticsearch-foselasticabundle/