--- title: "策略未找到——如何解决此 Elasticsearch 异常" date: 2026-01-07 lastmod: 2026-01-07 description: "当Elasticsearch无法找到指定的索引生命周期管理(ILM)策略时,会出现策略未找到错误。本文介绍如何解决此异常。" tags: ["索引生命周期管理", "ILM策略", "资源未找到异常"] summary: " 版本: 7.5-8.9 简要来说,当 Elasticsearch 无法找到指定的索引生命周期管理(ILM)策略时,会出现此错误。这可能是由于策略未创建、已被删除,或策略名称存在拼写错误导致的。要解决此问题,您可以使用 Get Lifecycle Policy API 检查策略是否存在。如果策略不存在,您需要使用 Put Lifecycle Policy API 创建它。如果策略名称不正确,请在您的请求中修正它。此外,请确保在 Elasticsearch 设置中启用了 ILM 功能。 日志上下文 # 日志"policy [{}] not found"的类名是 EnrichStore.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: } updateClusterState(clusterService; handler; current -> { final Mappolicies = getPolicies(current); if (policies.containsKey(name) == false) { throw new ResourceNotFoundException("policy [{}] not found"; name); } policies.remove(name); return policies; }); " --- > **版本:** 7.5-8.9 简要来说,当 Elasticsearch 无法找到指定的索引生命周期管理(ILM)策略时,会出现此错误。这可能是由于策略未创建、已被删除,或策略名称存在拼写错误导致的。要解决此问题,您可以使用 Get Lifecycle Policy API 检查策略是否存在。如果策略不存在,您需要使用 Put Lifecycle Policy API 创建它。如果策略名称不正确,请在您的请求中修正它。此外,请确保在 Elasticsearch 设置中启用了 ILM 功能。 日志上下文 ----------- 日志"policy [{}] not found"的类名是 [EnrichStore.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java } updateClusterState(clusterService; handler; current -> { final Mappolicies = getPolicies(current); if (policies.containsKey(name) == false) { throw new ResourceNotFoundException("policy [{}] not found"; name); } policies.remove(name); return policies; }); ```