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

版本: 6.8-7.15

简而言之,当 Elasticsearch 由于格式不正确或数据类型不匹配而无法解析日期/时间字段时,会出现此错误。这可能是由于数据中的日期格式与 Elasticsearch 中期望的格式不匹配造成的。要解决此问题,请确保数据中的日期/时间字段与 Elasticsearch 映射中指定的格式相匹配。或者,您可以在索引映射中将 “date_detection” 设置为 false 来禁用自动日期检测。最后,您可以在日期字段映射中使用 “format” 参数来指定正确的日期格式。

日志上下文 #


日志“could not parse date/time. expected date field [{}]”的类名是 WatchStatusDateParser.java。 我们从 Elasticsearch 源代码中提取了以下内容,以供那些寻求深入背景的人参考:

        return dateTime.withZoneSameInstant(ZoneOffset.UTC);
    }
    if (token == XContentParser.Token.VALUE_NULL) {
        return null;
    }
    throw new ElasticsearchParseException("could not parse date/time. expected date field [{}] " +
        "to be either a number or a string but found [{}] instead", fieldName, token);
    }  public static ZonedDateTime parseDate(String text) {
        return DateFormatters.from(FORMATTER.parse(text));