--- title: "未知的日期时间单位 ID - 如何解决此 Elasticsearch 异常" date: 2026-02-14 lastmod: 2026-02-14 description: "Elasticsearch 中遇到未知日期时间单位的错误及其解决方案" tags: ["Elasticsearch", "异常处理", "日期时间", "单位错误"] summary: " 版本: 6.8-8.9 简而言之,当 Elasticsearch 在查询或脚本中遇到无法识别的日期时间单位时,会发生此错误。这可能是由于拼写错误或使用了不支持的单位造成的。要解决此问题,您应该首先检查所使用的日期时间单位是否存在拼写错误。如果没有,请确保该单位是 Elasticsearch 支持的单位之一。例如,Elasticsearch 识别 “d” 表示天,“h” 表示小时,“m” 表示分钟等。相应地调整您的查询或脚本以使用可识别的日期时间单位。 日志上下文 # 日志 “Unknown date time unit id [” + id + “]” 的类名是 Rounding.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入理解的人参考: case 4 -> MONTH_OF_YEAR; case 5 -> DAY_OF_MONTH; case 6 -> HOUR_OF_DAY; case 7 -> MINUTES_OF_HOUR; case 8 -> SECOND_OF_MINUTE; default -> throw new ElasticsearchException("Unknown date time unit id [" + id + "]"); }; } } public abstract void innerWriteTo(StreamOutput out) throws IOException; " --- > **版本:** 6.8-8.9 简而言之,当 Elasticsearch 在查询或脚本中遇到无法识别的日期时间单位时,会发生此错误。这可能是由于拼写错误或使用了不支持的单位造成的。要解决此问题,您应该首先检查所使用的日期时间单位是否存在拼写错误。如果没有,请确保该单位是 Elasticsearch 支持的单位之一。例如,Elasticsearch 识别 "d" 表示天,"h" 表示小时,"m" 表示分钟等。相应地调整您的查询或脚本以使用可识别的日期时间单位。 日志上下文 ----------- 日志 "Unknown date time unit id [" + id + "]" 的类名是 [Rounding.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入理解的人参考: ```java case 4 -> MONTH_OF_YEAR; case 5 -> DAY_OF_MONTH; case 6 -> HOUR_OF_DAY; case 7 -> MINUTES_OF_HOUR; case 8 -> SECOND_OF_MINUTE; default -> throw new ElasticsearchException("Unknown date time unit id [" + id + "]"); }; } } public abstract void innerWriteTo(StreamOutput out) throws IOException; ```