2016-02-10 8 views
5

Próbuję użyć tej kwerendy skrypt:Jak włączyć wbudowane (piaskowane) groovy skrypty?

POST /_search 
{ 
    "script_fields": { 
     "my_field": { 
      "script": "1 + my_evar", 
      "params": { 
       "my_evar": 2 
      } 
     } 
    } 
} 

co skutkuje następującym komunikatem o błędzie:

"rozumu": „skrypty typu [inline] i nacisnąć [SEARCH] i lang [Groovy] są wyłączone”

próbowałem włączyć włączony z tego bitu konfiguracji elasticsearch.yml:

script.inline: true 
script.indexed: true 
script.search: true 
script.update: true 
script.mapping: true 
script.groovy.sandbox.enabled: true 

Czy brakuje mi ustawienia?

+1

Mieli wystarczająco dużo bólu z Bezboleśnie, co? Witaj w klubie. –

Odpowiedz

7

Ustawianie dla następujących w elasticsearch.yml pracował dla mnie.

script.engine.groovy.inline.search: on 
+1

'skrypt.engine.groovy.inline.update: on' jest również przydatny. Pełne dokumenty tutaj: https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-scripting-security.html – Resonance

1

użyć tego ustawienia:

script.disable_dynamic: false 
3

dzięki @Richa, I rzeczywiście próbował to, ale mam ten błąd

script.disable_dynamic obsługiwany ustawienie nie jest, należy wymienić z drobnoziarnistych ustawieniach skryptów . skrypty dynamiczne mogą być włączone dla wszystkich języków i wszystkich operacji zastępując script.disable_dynamic: false z script.inline: on i script.indexed: on

Więc próbowałem właśnie te trzy ustawienia i to działało dobrze.