我正在尝试使用此示例脚本查询:
POST /_search
{
"script_fields": {
"my_field": {
"script": "1 + my_evar",
"params": {
"my_evar": 2
}
}
}
}
会导致以下错误消息:
“reason”:“[inline],operation [search]和lang [groovy]类型的脚本被禁用”
我尝试使用弹性搜索配置的这一点来启用脚本:
script.inline: true
script.indexed: true
script.search: true
script.update: true
script.mapping: true
script.groovy.sandbox.enabled: true
我错过了一个设置吗?
答案 0 :(得分:7)
在 elasticsearch.yml 中设置以下内容对我有用。
script.engine.groovy.inline.search: on
答案 1 :(得分:4)
谢谢@Richa,我实际上尝试了但是我收到了这个错误
script.disable_dynamic不是受支持的设置,请替换为细粒度的脚本设置。 通过将
,可以为所有语言和所有操作启用动态脚本script.disable_dynamic: false
替换为script.inline: on
和script.indexed: on
然后我尝试了这三个设置并且运行正常。
答案 2 :(得分:1)
使用此设置:
script.disable_dynamic: false