ElasticSearch找不到我的脚本

时间:2015-07-05 10:07:52

标签: elasticsearch

不知何故,elasticsearch(版本1.5.2)在sorting中找不到我的脚本/etc/elasticsearch/scripts/。我给了ES的文件夹和文件本身文件权限,并且在我的elasticsearch.yml:

path.conf: /etc/elasticsearch

在查询时,我仍然收到 ElasticsearchIllegalArgumentException [无法找到磁盘脚本排序]

{
  "query": {
    "filtered": {
      "filter": {
        "script": {
          "file": "sorting",
          "lang": "groovy"
        }
      }
    }
  }
}

我是否必须以某种方式从光盘启用脚本?

2 个答案:

答案 0 :(得分:1)

您的脚本应放在/scripts一个/config下的.groovy文件夹中,并且应该有一个config/scripts/my_script.groovy扩展名。来自the documentation

  

将脚本内容保存为集群中每个数据节点上名为script_file的文件

此外,您的查询应使用file而不是{ "query": { "filtered": { "filter": { "script": { "script_file": "sorting", "lang": "groovy" } } } } }

HttpContext.Current.Request.Url.AbsoluteUri;

答案 1 :(得分:0)

脚本可能会丢失,因为弹性搜索会拒绝脚本。

保存elasticsearch日志文件并确保在保存脚本文件时不会引发任何错误。