--- title: "Setting – 如何解决此 Elasticsearch 异常" date: 2026-02-05 lastmod: 2026-02-05 description: "在 Elasticsearch 中尝试修改已创建索引的分片数量时会引发此异常,因为索引创建后不允许更改分片数。" tags: ["配置异常", "索引设置", "分片设置"] summary: " 版本: 6.8-7.15 index.number_of_shards] 在索引创建后无法更改。简要来说,当尝试更改现有 Elasticsearch 索引的分片数量时,就会发生此错误。Elasticsearch 不允许在索引创建后更改分片数量。要解决此问题,您可以将数据重新索引到具有所需分片数量的新索引中,或者如果您最初将索引设置为可调整大小,可以使用拆分索引 API 来增加分片数量。但是,减少分片数量只能通过重新索引来完成。 日志上下文 # 日志 “Setting [” 类名是 OpenIdConnectRealm.java. 我们从 Elasticsearch 源代码中提取了以下内容,以便为那些寻求深入上下文的人提供参考: .stream() .filter(Objects::nonNull) .collect(Collectors.toList())); } } else if (required) { throw new SettingsException("Setting [" + RealmSettings.getFullSettingKey(realmConfig, setting.getClaim()) + "] is required"); } else if (realmConfig.hasSetting(setting.getPattern())) { throw new SettingsException("Setting [" + RealmSettings.getFullSettingKey(realmConfig, setting.getPattern()) + "] cannot be set unless [" + RealmSettings.getFullSettingKey(realmConfig, setting.getClaim()) + "] is also set"); " --- > **版本:** 6.8-7.15 index.number_of_shards] 在索引创建后无法更改。简要来说,当尝试更改现有 Elasticsearch 索引的分片数量时,就会发生此错误。Elasticsearch 不允许在索引创建后更改分片数量。要解决此问题,您可以将数据重新索引到具有所需分片数量的新索引中,或者如果您最初将索引设置为可调整大小,可以使用拆分索引 API 来增加分片数量。但是,减少分片数量只能通过重新索引来完成。 日志上下文 ----------- 日志 "Setting [" 类名是 [OpenIdConnectRealm.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,以便为那些寻求深入上下文的人提供参考: ```java .stream() .filter(Objects::nonNull) .collect(Collectors.toList())); } } else if (required) { throw new SettingsException("Setting [" + RealmSettings.getFullSettingKey(realmConfig, setting.getClaim()) + "] is required"); } else if (realmConfig.hasSetting(setting.getPattern())) { throw new SettingsException("Setting [" + RealmSettings.getFullSettingKey(realmConfig, setting.getPattern()) + "] cannot be set unless [" + RealmSettings.getFullSettingKey(realmConfig, setting.getClaim()) + "] is also set"); ```