版本: 6.8-8.9
简而言之,当 Elasticsearch 尝试解析文档中的电子邮件字段时发现其为空,就会出现此错误。这可能是由于数据输入错误或数据摄取过程中的缺陷导致的。要解决此问题,您可以确保在索引文档之前电子邮件字段不为空。或者,您可以修改 Elasticsearch 映射以允许电子邮件字段接受 null 值。最后,您可以在应用程序代码中处理此错误,当电子邮件字段为空时设置一个默认值。
日志上下文 #
日志“could not parse email. empty [{}] field”的类名是 Email.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景信息的人参考:
} else if (parser.currentToken() == XContentParser.Token.START_OBJECT) {
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 email. empty [{}] field", bodyField);
} else if (Email.Field.BODY_TEXT.match(currentFieldName, parser.getDeprecationHandler())) {
email.textBody(parser.text());
} else if (Email.Field.BODY_HTML.match(currentFieldName, parser.getDeprecationHandler())) {
email.htmlBody(parser.text());
} else {





