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

版本: 6.8-8.9

简而言之,当 Elasticsearch 由于脚本语言或语法问题而无法编译脚本时,就会出现此错误。其中 ‘type’、‘id’ 和 ‘lang’ 分别是脚本类型、脚本 ID 和脚本语言的占位符。要解决此问题,请确保脚本语言受支持且正确指定。同时,检查脚本是否存在任何语法错误或不支持的操作。如果脚本过于复杂,考虑简化它或将其分解为更小的部分。

日志上下文 #

日志 “Failed to compile " + type + " script [” + id + “] using lang [” + lang + “]” 的类名是 ScriptCache.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

} catch (ExecutionException executionException) {
 Throwable cause = executionException.getCause();
 if (cause instanceof ScriptException) {
 throw (ScriptException) cause;
 } else if (cause instanceof Exception) {
 throw new GeneralScriptException("Failed to compile " + type + " script [" + id + "] using lang [" + lang + "]"; cause);
 } else {
 rethrow(cause);
 throw new AssertionError(cause);
 }
 }