2015-09-17 10 views
19

Używam elastycznego wyszukiwania 1.7.1 i kiedy próbuję użyć script_score lub script_fields pokazuje błąd ScriptException [scripts typu inline], operacja [search] i lang [groovy] jest wyłączona może ktoś proszę mi powiedzieć jak czy mogę usunąć ten błąd. mój kod znajduje się poniżejOperacja błędu wyszukiwania elastycznego [wyszukiwanie] i język [groovy] jest wyłączony?

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

Odpowiedz

39

Dodaj script.engine.groovy.inline.search: on do elasticsearch.yml plik konfiguracyjny i zrestartować węzeł.

+0

ale muszę dodać tę linię, gdzie wewnątrz mojego pliku yml wewnątrz mojego pliku yml, każda linia zaczyna się od # lub ## nie wiesz, gdzie ją umieścić? –

+1

Wystarczy dodać go jako nową linię, nie ma znaczenia, gdzie w pliku. –

+1

Dla tych, którzy otrzymali ten błąd podczas agregowania/grupowania i Googli w drodze tutaj: 'script.engine.groovy.inline.aggs: on' – aitchnyu

12

dodanie script.groovy.sandbox.enabled: true do .yml działa na mnie

Es Wersja 2.x +

script.inline: on 
script.indexed: on 
6

Dodaj script.engine.groovy.inline.aggs: on script.engine.groovy.inline.update: on do elasticsearch.yml i restart

0

dla osób z ES 2. x +

script.inline: true script.indexed: true

Upewnij się, że poprzedzasz linie spacją!