弹性搜索错误操作[search]和lang [groovy]是否被禁用?

时间:2015-09-17 16:02:57

标签: groovy elasticsearch

我正在使用弹性搜索1.7.1,当我尝试使用script_score或script_fields时,它显示错误ScriptException [类型内联的脚本],操作[search]和lang [groovy]被禁用任何人都可以告诉我我该如何删除此错误。我的代码在下面给出

function_score: {
        query: {
          query_string: {
            query: shop_search,
            fields: [ 'shop_name']
          } 
        },    
        functions: [
          {
            script_score: {
              script: "_score * doc['location'].value"
            }
          }
        ]
      }

4 个答案:

答案 0 :(得分:42)

script.engine.groovy.inline.search: on添加到elasticsearch.yml配置文件并重新启动节点。

答案 1 :(得分:13)

script.groovy.sandbox.enabled: true添加到.yml对我有用

对于ES版本2.x +

script.inline: on
script.indexed: on

答案 2 :(得分:7)

添加 s = ScenarioEnvironment(None) r = report() >>> <__main__.ScenarioEnvironment instance at 0x026F4238> >>> <__main__.ScenarioEnvironment instance at 0x026F4300> >>> <__main__.ScenarioEnvironment instance at 0x026F4350> 到elasticsearch.yml 并重新启动

答案 3 :(得分:0)

对于那些ES 2.x +

的人

script.inline: true script.indexed: true

请确保在行前加一个空格!