版本: 6.8-7.1
简而言之,当在 Elasticsearch 的多字段(multi-field)中使用 “copy_to” 参数时,会出现此错误。这是不被允许的,因为多字段的目的是为单个字段提供不同的分析方式,而不是用于复制数据。
要解决此问题,您可以从多字段中删除 “copy_to” 参数。或者,您可以在多字段之外创建一个单独的字段,并在那里使用 “copy_to” 参数。
日志上下文 #
日志 “copy_to in multi fields is not allowed. Found the copy_to in field [" + name + “] ” 的类名是 TypeParsers.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些需要深入了解上下文的人参考:
iterator.remove();
} else if (parseMultiField(builder::addMultiField, name, parserContext, propName, propNode)) {
iterator.remove();
} else if (propName.equals("copy_to")) {
if (parserContext.isWithinMultiField()) {
throw new MapperParsingException("copy_to in multi fields is not allowed. Found the copy_to in field [" + name + "] " +
"which is within a multi field.");
} else {
List copyFields = parseCopyFields(propNode);
FieldMapper.CopyTo.Builder cpBuilder = new FieldMapper.CopyTo.Builder();
copyFields.forEach(cpBuilder::add);





