版本: 6.8-7.15
简而言之,当您尝试定义一个与现有字段同名的多字段时,会出现此错误。Elasticsearch 不允许这样做,因为这可能导致混淆和数据不一致。要解决此问题,您可以重命名多字段或现有字段以避免名称冲突。或者,您可以重新构建数据模型以避免需要同名的多字段。
日志上下文 #
日志"Field name [" + multiFieldName + “] which is a multi field of [” + name + “] cannot"类名是 TypeParsers.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:
} for (Map.EntrymultiFieldEntry : multiFieldsPropNodes.entrySet()) {
String multiFieldName = multiFieldEntry.getKey();
if (multiFieldName.contains(".")) {
throw new MapperParsingException("Field name [" + multiFieldName + "] which is a multi field of [" + name + "] cannot" +
" contain '.'");
}
if ((multiFieldEntry.getValue() instanceof Map) == false) {
throw new MapperParsingException("illegal field [" + multiFieldName + "]; only fields can be specified inside fields");
}





