繁体   English   中英

Elasticsearch Dynamic Sc​​ripting已禁用

[英]Elasticsearch Dynamic Scripting Disabled

我在聚合上尝试以下查询:

aggs:{
    total:{
        sum:{
            script: "doc['comments'].value + doc['likes'].value + doc['shares'].value"
        }   
    }
}

并抛出以下异常:

ScriptException[dynamic scripting disabled]

知道如何解决这个问题。 参考:

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-aggregations-metrics-sum-aggregation.html

默认情况下,弹性搜索中禁用动态脚本,我们需要在elasticsearch.yml文件中添加以下行:

script.disable_dynamic: false

请参阅: http//www.elasticsearch.org/guide/en/elasticsearch/reference/1.5/modules-scripting.html#_enabling_dynamic_scripting

此外,我们需要确保在启用动态脚本时,elasticsearch端口不公开。 特别是节点用于通信的端口。 (默认为9300)否则它存在安全漏洞,允许攻击者加入群集并进行端口扫描或进行DDOS攻击。

UPDATE

对于ES版本1.6+

通过以下需要添加到每个节点上的config / elasticsearch.yml文件的设置,可以为每个脚本引擎启用基于其源的脚本。

script.inline: on
script.indexed: on

请参阅: https//www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting.html#enable-dynamic-scripting

暂无
暂无

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

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