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

版本: 6.8-8.9

简而言之,当 Elasticsearch 尝试执行一个在集群状态中找不到的脚本时,就会出现此错误。这可能是由于脚本未正确上传、被删除或根本不存在造成的。要解决此问题,您可以:1)检查脚本是否已正确上传到集群。2)验证脚本是否被意外删除。3)确保请求中的脚本 ID 与已上传脚本的 ID 匹配。4)如果脚本不存在,则创建并上传到集群。

日志上下文 #

日志 “unable to find script [” + id + “] in cluster state” 的类名是 ScriptService.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:

protected StoredScriptSource getScriptFromClusterState(String id) {
    ScriptMetadata scriptMetadata = clusterState.metadata().custom(ScriptMetadata.TYPE);
    if (scriptMetadata == null) {
        throw new ResourceNotFoundException("unable to find script [" + id + "] in cluster state");
    }  StoredScriptSource source = scriptMetadata.getStoredScript(id);
    if (source == null) {