无法在Elasticsearch

时间:2015-05-23 15:53:41

标签: javascript elasticsearch

我在script_score中为function_score编写了一个javascript脚本,但我在弹性搜索服务启动时遇到以下错误。我正在运行Ubuntu 14.04,elasticsearch 1.4.5。遗憾的是我不能在这里发布代码。

什么构成有效的回报值?有没有办法调试得分脚本或打印到elasticsearch日志?

  

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

由于

更新

我尝试了一个只有return 0.5;的脚本。我仍然得到错误:

  

[2015-05-23 22:52:48,527] [信息] [剧本] [战士女人]编译脚本文件[/etc/elasticsearch/scripts/test.js]   [2015-05-23 22:52:48,609] [警告] [剧本] [战士女人]未能加载/编译脚本[测试]   org.mozilla.javascript.EvaluatorException:返回无效(Script1.js#1)

更新2:

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

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

1 个答案:

答案 0 :(得分:0)

从快速查看日志开始,ES试图说它无法加载或编译您的Javascript脚本。如果这是您的动态脚本或存储在主机上的脚本文件中的独立脚本,请添加更多信息。 如果您没有为ES安装javascript-lang插件,ES无法编译并运行您的Javascript。您必须查看以下链接

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

由于ES 1.5.0 +的安全问题,因为ES人们已经开始使用他们自己的安全模块,因此即使groovy现在也不再用于动态脚本的沙盒化。

如果我的回答给你任何帮助,请退回。

由于