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

版本: 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;