首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过查询max_compilations_per_minute进行的ElasticSearch更新已超出

通过查询max_compilations_per_minute进行的ElasticSearch更新已超出
EN

Stack Overflow用户
提问于 2017-07-01 00:56:32
回答 2查看 3.3K关注 0票数 0

我收到了这样的请求:

代码语言:javascript
复制
{
                "script":{
                    "inline":"ctx._source.music_tags=" + JSON.stringify(music_tags),
                    "lang":"painless"
                },
                "query":{
                    "constant_score":{
                        "filter":{
                            "term":{
                                "release_id": releaseId
                            }
                        }
                    }
                }
            }

正如您所看到的,我正在尝试使用某个releaseId更新所有文档。一切都很正常,但是当我试图同时更新大量数据时,我得到了如下错误:

代码语言:javascript
复制
{  
   "error":{  
      "root_cause":[  
         {  
            "type":"circuit_breaking_exception",
            "reason":"[script] Too many dynamic script compilations within one minute, max: [15/min]; please use on-disk, indexed, or scripts with parameters instead; this limit can be changed by the [script.max_compilations_per_minute] setting",
            "bytes_wanted":0,
            "bytes_limit":0
         }
      ],
      "type":"general_script_exception",
      "reason":"Failed to compile inline script [ctx._source.music_tags=[\"25319\",\"25390\",\"25795\"]] using lang [painless]",
      "caused_by":{  
         "type":"circuit_breaking_exception",
         "reason":"[script] Too many dynamic script compilations within one minute, max: [15/min]; please use on-disk, indexed, or scripts with parameters instead; this limit can be changed by the [script.max_compilations_per_minute] setting",
         "bytes_wanted":0,
         "bytes_limit":0
      }
   },
   "status":500
}

我确实试图找到关于这个限制的任何信息,但我并不是很了解。

有人能解释一下为什么elasticSearch有这个限制吗?如果我改变这个限制会有什么影响?

我可以在没有脚本的情况下更新文档吗?

如果每次请求都使用一个参数(cf:here),还会出现limit错误吗?

谢谢,

提奥

EN

回答 2

Stack Overflow用户

发布于 2017-09-29 03:24:18

我得到了类似的错误,后来我发现表达式中有一个小的语法错误。在修复了语法错误后得到了解决。你检查过JSON是否有效吗?

票数 0
EN

Stack Overflow用户

发布于 2018-09-17 20:23:48

您可以配置"script.max_compilations_per_minute“设置来增加脚本编译的限制。

代码语言:javascript
复制
PUT /_cluster/settings
{
  "transient": {
    "script.max_compilations_per_minute": 40
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44851553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档