2016-05-17 25 views
1

でスクリプトクエリにこだわっている:私は次のクエリを実行しようとしているElasticsearch

curl -XGET localhost:9200/new_population/_search -d '{ 

"query":{ 
"bool" : { 
    "must" : { 
     "term":{"message":"developer"} 
    }, 
    "filter" : { 
     "script" : { 
      "script" : "doc['birth'].value > 20" 
     } 
    } 
} 
} 
}' 

が、私は以下のエラーが取得しています:私も「変更されている

{"error":{"root_cause":[{"type":"script_exception","reason":"scripts of type [inline], operation [search] and lang [groovy] are disabled"}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"new_population","node":"AEKkYpmhRuWEOTJo64WKhg","reason":{"type":"script_exception","reason":"scripts of type [inline], operation [search] and lang [groovy] are disabled"}}]},"status":500} 

をscript.engine.groovy.inline.aggs ":on .ymlファイル 助けてください:私はこれに従いますlink

+1

うん、ESで動的スクリプトを有効にします。https://www.elastic.co/guide/en/elasticsearch/reference/ current/modules-scripting.html#enable-dynamic-scripting。 enablementは 'true'と' false'であり、ノードを再起動します。 –

+2

メッセージは、 'groovy.inline.aggs'を有効にしている間、' type [inline]、operation [search]、lang [groovy]のスクリプトは無効になります。小さな問題を投稿する前に読書を少ししてください。 –

+1

この質問の答えはここにあります:https://stackoverflow.com/questions/37345608/why-i-am-getting-error-while-executing-this-query-in-elasticsearch –

答えて

2

以下の設定でスクリプトを有効にする必要があります。あなたのelasticsearchフォルダ - > CONFIG-> elasticsearch.ymlファイルに移動して、これを追加します。

script.inline: true 
script.indexed: true