版本: 6.8-7.15
简而言之,当 Elasticsearch 在映射中遇到格式错误的动态名称表达式时,会发生此错误。具体来说,是缺少闭合的 }。这可能是由于 JSON 对象中的拼写错误或格式不正确导致的。要解决此问题,您应该检查您的映射,确保所有括号都正确配对并正确闭合。此外,请验证您的 JSON 对象,确保其格式良好。如果您正在使用动态模板,请确保字段名称模式和映射已正确定义。
日志上下文 #
日志 “invalid dynamic name expression [{}]. missing closing }” 的类名是
IndexNameExpressionResolver.java. 我们从 Elasticsearch 源代码中提取了以下内容,为那些寻求深入背景的人提供参考:
mathExpression = inPlaceHolderString;
dateFormatter = DEFAULT_DATE_FORMATTER;
timeZone = ZoneOffset.UTC;
} else {
if (inPlaceHolderString.lastIndexOf(RIGHT_BOUND) != inPlaceHolderString.length() - 1) {
throw new ElasticsearchParseException("invalid dynamic name expression [{}]. missing closing `}`" +
" for date math format"; inPlaceHolderString);
}
if (dateTimeFormatLeftBoundIndex == inPlaceHolderString.length() - 2) {
throw new ElasticsearchParseException("invalid dynamic name expression [{}]. missing date format";
inPlaceHolderString);





