我的应用程序正在使用此脚本来提升索引中的最新项目:
(5 / ((3.16*pow(10,-11)) * abs(time() - doc[\'date\'].date.getMillis()) + 0.2)) + 1.0
它是用 MVEL 编写的,但从 1.3 开始,Groovy 不推荐使用 MVEL。该脚本现在抛出此错误:
GroovyScriptExecutionException[MissingMethodException[No signature of method: Script4.time() is applicable for argument types: () values: []\nPossible solutions: find(), dump(), find(groovy.lang.Closure), use([Ljava.lang.Object;), is(java.lang.Object), with(groovy.lang.Closure)]]
在我看来,这听起来像是在 Groovy 中获取毫秒时间戳的函数是不同的。我试过System.currentTimeMillis()
了,但它给出了另一个错误,说它不支持导入。
那么如何修复该time()
功能以使用 Groovy 呢?