Elasticsearch如何在更新中使用脚本(文件)

时间:2014-08-20 22:16:54

标签: groovy elasticsearch

我想更新一份给定的文件;使用保存的脚本

curl -XPOST 'http://localhost:9200/customer92/listbuilder/a10/_update' -d '
{
     "_script": {
      "script":"summarization"
       }
}'

我的config / scripts文件夹中有summarization.groovy。我收到以下错误:

{
   "error":
       "ElasticsearchIllegalArgumentException[failed to execute script]; nested:     
        GroovyScriptExecutionException[MissingPropertyException[No such property: 
        summarization for class: Script6]]; ",
   "status":400
}

我做错了什么?

1 个答案:

答案 0 :(得分:-1)

编辑:自从这个答案(来自文档)以来,Elasticsearch已经发生了很大的变化。请参阅最新文档,例如https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html#_indexed_scripts

我很确定这个问题已经不再适用了,但如果有人对此感兴趣,请点击:

json中的“script”字段应该是一个实际的脚本,而不是脚本的名称。在你的情况下,script_id是正确的,除非默认值已被更改,否则还应添加语言名称。

curl -XPOST 'http://localhost:9200/customer92/listbuilder/a10/_update' -d ' { "script_id":"summarization", "lang": "groovy" }'

有关详细信息,请参阅:Indexed ScriptsUpdate API