📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 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).addValidator(v -> {
  if (v != null && values.contains(v) == false) {
  throw new MapperParsingException("Unknown value [" + v + "] for field [" + name + "] - accepted values are " + values);
  }