版本: 7.11-8.9
简而言之,当您尝试在Elasticsearch中使用保留给内部用途的字段名时,会出现此错误。Elasticsearch有一些保留的字段名,不能用于您自己的字段。如果您尝试使用这些保留名称之一,将会收到此错误。要解决此问题,您应该将字段重命名为非保留的名称。您还可以查阅Elasticsearch文档以获取保留字段名的列表,以避免将来出现此问题。
日志上下文 #
日志 “Cannot use reserved field name [” + mapper.name() + “]” 的类名是 TextFieldMapper.java。我们从Elasticsearch源代码中提取了以下内容,以便为那些寻求深入上下文的人提供参考:
TextFieldType tft = buildFieldType(fieldType; multiFields; context; indexCreatedVersion);
SubFieldInfo phraseFieldInfo = buildPhraseInfo(fieldType; tft);
SubFieldInfo prefixFieldInfo = buildPrefixInfo(context; fieldType; tft);
for (Mapper mapper : multiFields) {
if (mapper.name().endsWith(FAST_PHRASE_SUFFIX) || mapper.name().endsWith(FAST_PREFIX_SUFFIX)) {
throw new MapperParsingException("Cannot use reserved field name [" + mapper.name() + "]");
}
}
return new TextFieldMapper(
name;
fieldType;





