Symfony 填充上的FOSElasticaBundle NumberFormatException错误
我在Symfony 2项目中使用FOSElasticaBundle。由于今天重新编制索引会导致以下错误: 索引:/app/hotel/1导致MapperParsingException[无法解析] [价格来源];嵌套:NumberFormatException[对于输入字符串: "410.00"]; 在我的yml中,Symfony 填充上的FOSElasticaBundle NumberFormatException错误,symfony,foselasticabundle,Symfony,Foselasticabundle,我在Symfony 2项目中使用FOSElasticaBundle。由于今天重新编制索引会导致以下错误: 索引:/app/hotel/1导致MapperParsingException[无法解析] [价格来源];嵌套:NumberFormatException[对于输入字符串: "410.00"]; 在我的yml中,price from字段定义如下: priceFrom: type: decimal nullable: true precision: 7 scale: 2
price from
字段定义如下:
priceFrom:
type: decimal
nullable: true
precision: 7
scale: 2
comment: ''
column: price_from
我的fos_elastica
config如下所示(config.yml):
我用于重新索引的命令:php应用程序/控制台fos:elastica:populate
到目前为止,上述设置一直有效。我希望有人能为我指出解决这个问题的好方向
版本:
鲁弗林/弹性体(2.1.0)
friendsofsymfony/弹性束(v3.1.5)
symfony/symfony(v2.6.11)
PS:我的项目中没有其他实体使用priceFrom字段 在映射中,您将PriceFrom定义为整数,然后传递一个小数
我没有测试过它,但它显然似乎是罪魁祸首。在映射中,您将PriceFrom定义为整数,但随后传递一个小数
我还没有测试过它,但它显然似乎是主要候选人的罪魁祸首。弗朗西斯科·阿贝尼的答案是正确的。如果您已经将ES中的某个内容推送到integer(或ES将其定义为integer),当您尝试在此处保存十进制数据时,它将生成异常 我总是在映射中显式指定类型,如:
id: {"type" : "integer"}
shop_id: {"type" : "integer"}
source: {"type" : "string", "index" : "not_analyzed"}
在这里,我看到了两种解决问题的方法
我在开发中使用了第二种变体:)弗朗西斯科·阿贝尼的答案是正确的。如果您已经将ES中的某个内容推送到integer(或ES将其定义为integer),当您尝试在此处保存十进制数据时,它将生成异常 我总是在映射中显式指定类型,如:
id: {"type" : "integer"}
shop_id: {"type" : "integer"}
source: {"type" : "string", "index" : "not_analyzed"}
在这里,我看到了两种解决问题的方法
我在dev上使用了第二个变量:)我已经尝试将price从映射更改为string或decimal,但相同的错误不断出现。好的,请确保在更改后清除缓存。这可能不是原始问题的原因,但无论如何都需要修复。我已经尝试将Price从映射更改为string或decimal,但相同的错误不断出现。好的,请确保在更改后清除缓存。这可能不是最初问题的原因,但无论如何都需要解决。