--- title: "Max shingle size 必须至少为 MAX SHINGLE SIZE LOWER BOUND 且至多 – 如何解决此 Elasticsearch 异常" date: 2026-03-30 lastmod: 2026-03-30 description: "本文介绍了如何解决 Elasticsearch 中 max_shingle_size 参数超出允许范围导致的异常,包括原因分析和解决方案。" tags: ["Elasticsearch", "异常处理", "shingle token filter", "映射配置", "参数范围"] summary: "简而言之,当 Elasticsearch 中的 ‘max_shingle_size’ 参数设置超出允许范围时,会出现此错误。‘max_shingle_size’ 参数用于 shingle token filter 中,用于控制最大的 shingle 大小。要解决此问题,你应该将 ‘max_shingle_size’ 参数调整到允许范围内的值。这个范围由常量 ‘MAX_SHINGLE_SIZE_LOWER_BOUND’ 和 ‘MAX_SHINGLE_SIZE_UPPER_BOUND’ 定义。如果你不确定合适的值,可以考虑使用默认值或查阅 Elasticsearch 文档以获取指导。 日志上下文 # 日志 “[max_shingle_size] must be at least [” + MAX_SHINGLE_SIZE_LOWER_BOUND + “] and at most ” 类名是 SearchAsYouTypeFieldMapper.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景的人参考: this.similarity = similarity; } public Builder maxShingleSize(int maxShingleSize) { if (maxShingleSize < MAX_SHINGLE_SIZE_LOWER_BOUND || maxShingleSize > MAX_SHINGLE_SIZE_UPPER_BOUND) { throw new MapperParsingException("[max_shingle_size] must be at least [" + MAX_SHINGLE_SIZE_LOWER_BOUND + "] and at most " + "[" + MAX_SHINGLE_SIZE_UPPER_BOUND + "]; got [" + maxShingleSize + "]"); } this." --- 简而言之,当 Elasticsearch 中的 'max_shingle_size' 参数设置超出允许范围时,会出现此错误。'max_shingle_size' 参数用于 shingle token filter 中,用于控制最大的 shingle 大小。要解决此问题,你应该将 'max_shingle_size' 参数调整到允许范围内的值。这个范围由常量 'MAX_SHINGLE_SIZE_LOWER_BOUND' 和 'MAX_SHINGLE_SIZE_UPPER_BOUND' 定义。如果你不确定合适的值,可以考虑使用默认值或查阅 Elasticsearch 文档以获取指导。 ## 日志上下文 ----------- 日志 "[max\_shingle\_size] must be at least [” + MAX\_SHINGLE\_SIZE\_LOWER\_BOUND + "] and at most ” 类名是 [SearchAsYouTypeFieldMapper.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景的人参考: ```java this.similarity = similarity; } public Builder maxShingleSize(int maxShingleSize) { if (maxShingleSize < MAX_SHINGLE_SIZE_LOWER_BOUND || maxShingleSize > MAX_SHINGLE_SIZE_UPPER_BOUND) { throw new MapperParsingException("[max_shingle_size] must be at least [" + MAX_SHINGLE_SIZE_LOWER_BOUND + "] and at most " + "[" + MAX_SHINGLE_SIZE_UPPER_BOUND + "]; got [" + maxShingleSize + "]"); } this.maxShingleSize = maxShingleSize; return builder; } ```