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

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