--- title: "字段出现未知值 - 可接受的值为 - 如何解决此 Elasticsearch 异常" date: 2026-02-19 lastmod: 2026-02-19 description: "Elasticsearch 字段接收到不可识别值的错误及解决方案" tags: ["Elasticsearch", "异常处理", "字段值", "验证错误"] summary: "版本: 7.16-8.6 简而言之,当向 Elasticsearch 中的特定字段传递了无法识别的值时,就会发生此错误。该字段只接受某些预定义的值,而提供的输入与其中任何一个都不匹配。要解决此问题,您可以查阅文档或错误消息中该特定字段的可接受值。确保您尝试输入的值是有效的并且拼写正确。如果该字段需要数值,请确保您没有传递字符串或其他数据类型。 日志上下文 # 日志 “Unknown value [” + o + “] for field [” + name + “] - accepted values are " 的类名是 FieldMapper.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入理解的人参考: try { @SuppressWarnings("unchecked") T enumValue = Enum.valueOf(enumClass; (String) o); return enumValue; } catch (IllegalArgumentException e) { throw new MapperParsingException("Unknown value [" + o + "] for field [" + name + "] - accepted values are " + values); } }; initializer; XContentBuilder::field; Objects::toString)." --- > **版本:** 7.16-8.6 简而言之,当向 Elasticsearch 中的特定字段传递了无法识别的值时,就会发生此错误。该字段只接受某些预定义的值,而提供的输入与其中任何一个都不匹配。要解决此问题,您可以查阅文档或错误消息中该特定字段的可接受值。确保您尝试输入的值是有效的并且拼写正确。如果该字段需要数值,请确保您没有传递字符串或其他数据类型。 日志上下文 ----------- 日志 "Unknown value [" + o + "] for field [" + name + "] - accepted values are " 的类名是 [FieldMapper.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入理解的人参考: ```java try { @SuppressWarnings("unchecked") T enumValue = Enum.valueOf(enumClass; (String) o); return enumValue; } catch (IllegalArgumentException e) { throw new MapperParsingException("Unknown value [" + o + "] for field [" + name + "] - accepted values are " + values); } }; initializer; XContentBuilder::field; Objects::toString).addValidator(v -> { if (v != null && values.contains(v) == false) { throw new MapperParsingException("Unknown value [" + v + "] for field [" + name + "] - accepted values are " + values); } ```