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

版本: 6.8-8.9

简而言之,当 Elasticsearch 尝试解析一个为负数或格式不正确的时间值时,就会发生此错误。Elasticsearch 要求时间值必须是正数,并且采用特定的格式。要解决此问题,请确保您输入的时间值为正数且格式正确。如果您使用脚本或自动化流程来输入数据,请检查其是否正常运行,并且没有产生负数或格式错误的时间值。

日志上下文 #

日志 “could not parse time value [{}]. Time value cannot be negative.” 的类名是 WatcherDateTimeUtils.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解的人参考:

    if (token == XContentParser.Token.VALUE_STRING) {
        try {
            TimeValue value = parseTimeValueSupportingFractional(parser.text(), settingName);
            if (value.millis() < 0) {
                throw new ElasticsearchParseException("could not parse time value [{}]. Time value cannot be negative.", parser.text());
            }
            return value;
        } catch (ElasticsearchParseException epe) {
            throw new ElasticsearchParseException("failed to parse time unit", epe);
        }
    }