📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 7.16-8.9

简而言之,当 Elasticsearch 尝试应用系统中不存在的策略时会发生此错误。这可能是由于策略名称拼写错误或策略已被删除。要解决此问题,您可以创建一个同名的新策略,或者在请求中更正策略名称。此外,如果您使用多个集群,请确保在正确的集群中创建了策略。最后,检查策略是否被意外删除,并在必要时恢复它。

日志上下文 #

日志 “policy [{}] does not exist” 的类名是 EnrichPolicyExecutor.java。 我们从 Elasticsearch 源代码中提取了以下内容,供寻求深入了解上下文的人参考:

ActionListenerlistener
 ) {
 try {
 EnrichPolicy policy = EnrichStore.getPolicy(policyName; clusterService.state());
 if (policy == null) {
 throw new ResourceNotFoundException("policy [{}] does not exist"; policyName);
 }  task.setStatus(new ExecuteEnrichPolicyStatus(ExecuteEnrichPolicyStatus.PolicyPhases.SCHEDULED));
 Runnable runnable = createPolicyRunner(policyName; policy; enrichIndexName; task; listener);
 threadPool.executor(ThreadPool.Names.GENERIC).execute(runnable);