--- title: "解析为 Double 类型失败 - 如何解决此 Elasticsearch 异常" date: 2026-03-05 lastmod: 2026-03-05 description: "当 Elasticsearch 尝试将值解析为 double 数据类型但值不兼容时,会出现此错误" tags: ["数据类型", "解析错误", "映射配置"] summary: " 版本: 6.8-8.9 简而言之,当 Elasticsearch 尝试将值解析为 double 数据类型,但该值不兼容时,就会出现此错误。这可能是由于映射中的数据类型不正确,或者在 double 字段中索引了非数值导致的。要解决此问题,请确保映射中的数据类型与您正在索引的数据相匹配。如果数据类型正确,请检查正在索引的数据中是否存在任何非数值。如有必要,您可能需要在索引之前清理或转换数据。 日志上下文 # 日志 “failed to parse [{}] as a double” 的类名是 MemorySizeValue.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: if (percent < 0 || percent > 100) { throw new ElasticsearchParseException("percentage should be in [0-100]; got [{}]"; percentAsString); } return ByteSizeValue.ofBytes((long) ((percent / 100) * JvmInfo.jvmInfo().getMem().getHeapMax().getBytes())); } catch (NumberFormatException e) { throw new ElasticsearchParseException("failed to parse [{}] as a double"; e; percentAsString); } } else { return parseBytesSizeValue(sValue; settingName); } } " --- > **版本:** 6.8-8.9 简而言之,当 Elasticsearch 尝试将值解析为 double 数据类型,但该值不兼容时,就会出现此错误。这可能是由于映射中的数据类型不正确,或者在 double 字段中索引了非数值导致的。要解决此问题,请确保映射中的数据类型与您正在索引的数据相匹配。如果数据类型正确,请检查正在索引的数据中是否存在任何非数值。如有必要,您可能需要在索引之前清理或转换数据。 日志上下文 ----------- 日志 "failed to parse [{}] as a double" 的类名是 [MemorySizeValue.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java if (percent < 0 || percent > 100) { throw new ElasticsearchParseException("percentage should be in [0-100]; got [{}]"; percentAsString); } return ByteSizeValue.ofBytes((long) ((percent / 100) * JvmInfo.jvmInfo().getMem().getHeapMax().getBytes())); } catch (NumberFormatException e) { throw new ElasticsearchParseException("failed to parse [{}] as a double"; e; percentAsString); } } else { return parseBytesSizeValue(sValue; settingName); } } ```