--- title: "无法解析持续时间 – 如何解决此 Elasticsearch 异常" date: 2026-03-20 lastmod: 2026-03-20 description: "当 Elasticsearch 无法解析请求中提供的持续时间值时,会发生此错误。通常是由于格式不正确或值无效导致的。" tags: ["Elasticsearch", "持续时间", "时间格式", "配置解析", "ParsingException"] summary: " 版本: 6.8-7.17 简而言之,当 Elasticsearch 无法解析请求中提供的持续时间值时,会发生此错误。这可能是由于格式不正确或值无效导致的。要解决此问题,请确保持续时间以 Elasticsearch 可以理解的格式指定,例如 “5d” 表示五天,“2h” 表示两小时。此外,检查该值是否有效且在可接受的范围内。如果问题仍然存在,请考虑检查您的 Elasticsearch 版本,因为某些版本可能对持续时间格式有特定要求。 日志上下文 # 日志 “Cannot parse duration [{}]” 的类名是 Intervals.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考: case SECOND: return Duration.ZERO.plusSeconds(duration); case MILLISECOND: return Duration.ZERO.plusMillis(duration); default: throw new ParsingException(source; "Cannot parse duration [{}]"; unit); } } catch (ArithmeticException ae) { throw new ParsingException(source; "Value [{}] cannot be used as it is too large to convert into [{}]s"; duration; unit); } } " --- > **版本:** 6.8-7.17 简而言之,当 Elasticsearch 无法解析请求中提供的持续时间值时,会发生此错误。这可能是由于格式不正确或值无效导致的。要解决此问题,请确保持续时间以 Elasticsearch 可以理解的格式指定,例如 "5d" 表示五天,"2h" 表示两小时。此外,检查该值是否有效且在可接受的范围内。如果问题仍然存在,请考虑检查您的 Elasticsearch 版本,因为某些版本可能对持续时间格式有特定要求。 ## 日志上下文 日志 "Cannot parse duration [{}]" 的类名是 [Intervals.java](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/)。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考: ```java case SECOND: return Duration.ZERO.plusSeconds(duration); case MILLISECOND: return Duration.ZERO.plusMillis(duration); default: throw new ParsingException(source; "Cannot parse duration [{}]"; unit); } } catch (ArithmeticException ae) { throw new ParsingException(source; "Value [{}] cannot be used as it is too large to convert into [{}]s"; duration; unit); } } ```