JS文件脚本错误:缺少;before语句<Script1.js#1>

JS File script error: missing ; before statement <Script1.js#1>

本文关键字:lt Script1 gt js#1 语句 before 文件 脚本错误 缺少 JS      更新时间:2023-09-26

我正在尝试使用一个文件脚本进行弹性搜索的更新操作。我使用的文件脚本是一个javascript,我不明白为什么它的编译失败。以下是文件:

update-htext.js:

import  org.elasticsearch.common.logging.*; 
var level = org.apache.log4j.Level.INFO;
ESLogger logger=ESLoggerFactory.getLogger('myscript');
if(ctx._source.hTexts == null){
    ctx._source.hTexts = [sourcehtext];
    return;
}else{
    var i = 0;
    for(it in ctx._source.hTexts){
        if(it.htext.contains(sourcehtext.htext)){
            logger.logger.log(level,"Already Contains "+it.htext);
            return;
        }
        if(sourcehtext.htext.contains(it.htext)){
            logger.logger.log(level,"Updating "+it.htext);
            break;
        }
        i++;
    }
    ctx._source.hTexts[i] = sourcehtext;
}

我调用它如下:

{
    "script" :{  
        "script_id" : "update-htext",
        "params" : {
            "sourcehtext":{
                "aid":1000,
                "htext" : "and"
            }
        },
        "lang" : "javascript"
    }
}

当弹性搜索开始并试图索引这个js文件时,我得到了以下错误:

org.mozilla.javascript.EvaluatorException: missing ; before statement (Script2.j
s#1)
        at org.mozilla.javascript.DefaultErrorReporter.runtimeError(DefaultError
Reporter.java:77)
        at org.mozilla.javascript.DefaultErrorReporter.error(DefaultErrorReporte
r.java:64)
import  org.elasticsearch.common.logging.*; 

是Java导入语句,而不是JavaScript代码。在ES6之前,JavaScript没有导入;从ES6开始,它们看起来是这样的:

import myModule from "my-module.js";