elasticsearch 如何启用内嵌(沙盒)groovy脚本?
我正在尝试使用以下示例脚本查询:elasticsearch 如何启用内嵌(沙盒)groovy脚本?,elasticsearch,elasticsearch,我正在尝试使用以下示例脚本查询: POST /_search { "script_fields": { "my_field": { "script": "1 + my_evar", "params": { "my_evar": 2 } } } } 这将导致以下错误消息: “原因”:“禁用了[inline]、操作[search]和lang[groov
POST /_search
{
"script_fields": {
"my_field": {
"script": "1 + my_evar",
"params": {
"my_evar": 2
}
}
}
}
这将导致以下错误消息:
“原因”:“禁用了[inline]、操作[search]和lang[groovy]类型的脚本”
我已尝试使用elasticsearch.yml配置启用脚本:
script.inline: true
script.indexed: true
script.search: true
script.update: true
script.mapping: true
script.groovy.sandbox.enabled: true
是否缺少设置?使用此设置:
script.disable_dynamic: false
谢谢@Richa,我真的试过了,但是我犯了这个错误 script.disable\u动态设置不受支持,请替换为细粒度脚本设置。 通过将
script.disable\u Dynamic:false
替换为script.inline:on
和script.indexed:on
然后我尝试了这三种设置,效果很好。在elasticsearch.yml中设置以下内容对我很有效
script.engine.groovy.inline.search: on
script.engine.groovy.inline.update:on
也很有用。这里的全科医生:你已经受够了无痛的疼痛了吧?欢迎来到俱乐部,谢谢。我只是在我的elasticsearch.yml文件中放了两行“script.inline:on”和“script.indexed:on”,结果成功了。