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

版本: 6.8-8.9

简而言之,当您尝试在 Elasticsearch 中对多种单位类型使用舍入函数时会出现此错误。舍入函数仅设计用于单一单位类型。要解决此问题,您可以将查询拆分为每个单位类型的多个查询,或者在应用舍入函数之前将所有数据转换为单一单位类型。另一种解决方案是使用脚本来处理多种单位类型的舍入。

日志上下文 #

日志 “rounding / can only be used on single unit types [{}]” 的类名是 JavaDateMathParser.java. 我们从 Elasticsearch 源代码中提取了以下内容,以便为寻求深入理解的开发者提供上下文:

}
 num = Integer.parseInt(mathString.substring(numFrom; i));
 }
 if (round) {
 if (num != 1) {
 throw new ElasticsearchParseException("rounding `/` can only be used on single unit types [{}]"; mathString);
 }
 }
 char unit = mathString.charAt(i++);
 switch (unit) {
 case 'y':