版本: 6.8-7.15
简而言之,当 Elasticsearch 由于意外字段而无法解析数据附件时,就会出现此错误。这通常发生在数据结构与预期的架构不匹配的情况下。要解决此问题,您可以:1)检查您尝试索引的数据,并确保它与预期的架构匹配;2)更新您的映射以容纳意外字段;3)如果该字段不是必需的,可以在索引之前从数据中删除它。
日志上下文 #
日志 “could not parse data attachment. expected [{}] field but found [{}] instead” 的类名是 DataAttachment.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:
String currentFieldName = null;
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
if (token == XContentParser.Token.FIELD_NAME) {
currentFieldName = parser.currentName();
} else if (currentFieldName == null) {
throw new ElasticsearchParseException("could not parse data attachment. expected [{}] field but found [{}] instead",
Field.FORMAT.getPreferredName(), token);
} else if (Field.FORMAT.match(currentFieldName, parser.getDeprecationHandler())) {
if (token == XContentParser.Token.VALUE_STRING) {
dataAttachment = resolve(parser.text());
} else {





