--- title: "未找到用于折叠的字段映射 – 如何解决此 Elasticsearch 异常" date: 2026-03-21 lastmod: 2026-03-21 description: "当 Elasticsearch 尝试基于一个在索引映射中不存在的字段来折叠结果时,会出现此错误。本文介绍如何解决此问题。" tags: ["字段映射", "折叠查询", "搜索异常"] summary: "版本: 6.8-7.4 简而言之,当 Elasticsearch 尝试基于一个在索引映射中不存在的字段来折叠结果时,会出现此错误。Elasticsearch 无法识别你尝试用于折叠的字段。要解决此问题,你可以将缺失的字段添加到索引映射中,或者将尝试折叠的字段更改为索引映射中存在的字段。此外,请确保用于折叠的字段不是分析型字段,因为 Elasticsearch 不支持在分析型字段上进行折叠。 日志上下文 # 日志 “no mapping found for " + field + " in order to collapse on” 的类名是 CollapseBuilder.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: throw new SearchContextException(context; "cannot use `collapse` in conjunction with `rescore`"); } MappedFieldType fieldType = context.getQueryShardContext().fieldMapper(field); if (fieldType == null) { throw new SearchContextException(context; "no mapping found for `" + field + "` in order to collapse on"); } if (fieldType instanceof KeywordFieldMapper." --- > **版本:** 6.8-7.4 简而言之,当 Elasticsearch 尝试基于一个在索引映射中不存在的字段来折叠结果时,会出现此错误。Elasticsearch 无法识别你尝试用于折叠的字段。要解决此问题,你可以将缺失的字段添加到索引映射中,或者将尝试折叠的字段更改为索引映射中存在的字段。此外,请确保用于折叠的字段不是分析型字段,因为 Elasticsearch 不支持在分析型字段上进行折叠。 日志上下文 ----------- 日志 "no mapping found for `" + field + "` in order to collapse on" 的类名是 [CollapseBuilder.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java throw new SearchContextException(context; "cannot use `collapse` in conjunction with `rescore`"); } MappedFieldType fieldType = context.getQueryShardContext().fieldMapper(field); if (fieldType == null) { throw new SearchContextException(context; "no mapping found for `" + field + "` in order to collapse on"); } if (fieldType instanceof KeywordFieldMapper.KeywordFieldType == false && fieldType instanceof NumberFieldMapper.NumberFieldType == false) { throw new SearchContextException(context; "unknown type for collapse field `" + field + "`; only keywords and numbers are accepted"); ```