繁体   English   中英

无法在Elasticsearch中加载JavaScript脚本

[英]Failed to load javascript script in Elasticsearch

我在function_scorescript_score编写了一个JavaScript脚本,但是在script_score Service启动时出现以下错误。 我正在运行Ubuntu 14.04,elasticsearch 1.4.5。 我可悲的是不能在这里发布代码。

什么将构成有效的返回值? 有什么方法可以调试乐谱脚本或打印到Elasticsearch日志?

[2015-05-23 21:00:18,093] [INFO] [脚本] [Soulfire]编译脚本文件[/etc/elasticsearch/scripts/****.js] [2015-05-23 21:00:18,180 ] [WARN] [script] [Soulfire]无法加载/编译脚本[****] org.mozilla.javascript.EvaluatorException:无效的返回值(Script1.js#14)

谢谢

更新:

我尝试了一个仅return 0.5;的脚本return 0.5; 我仍然收到错误:

[2015-05-23 22:52:48,527] [INFO] [脚本] [Warrior Woman]编译脚本文件[/etc/elasticsearch/scripts/test.js] [2015-05-23 22:52:48,609] [ WARN] [脚本] [Warrior Woman]无法加载/编译脚本[test] org.mozilla.javascript.EvaluatorException:无效的返回值(Script1.js#1)

更新2:

我从脚本中删除了return关键字,例如: return 0; 变为0;

这导致错误消失,但是我继续得到意外的结果。 我仍然想知道如何从js脚本中登录。

通过快速查看日志,ES试图说它无法加载或编译您的Javascript脚本。此外,如果这是您的动态脚本或独立脚本存储在主机的脚本文件中,请添加更多信息。 如果您尚未安装ES的javascript-lang插件,则ES无法编译和运行Javascript。您必须查看以下链接

https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/modules-scripting.html

由于ES 1.5.0 +的安全性问题,现在甚至不再需要使用Groovy来进行动态脚本编写,因为ES员工已经提出了自己的安全模块。

如果我的回答对您有帮助,请返回。

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM