1

Elasticsearch で簡単な更新スクリプトを実行しようとしています。mvel では問題なく動作するようですが、python では動作しません。

curl -XPOST 'localhost:9200/index1/type1/1/_update?pretty=true' 
-d '{"script" : "ctx._source.myfield=\"item\""}'
{
  "ok" : true,
  "_index" : "index1",
  "_type" : "type1",
  "_id" : "1",
  "_version" : 7
}

curl -XPOST 'localhost:9200/index1/type1/1/_update?pretty=true' 
-d '{"script" : "ctx._source.myfield=\"item\"","lang":"python"}'
{
  "error" : "ElasticSearchIllegalArgumentException[failed to execute script]; nested: NullPointerException; ",
  "status" : 400
}

私のESバージョンは0.20.4です

私のelasticsearch-lang-pythonプラグインは1.1.0です(1.2.0でも試しました)

4

1 に答える 1

1

Pythonプラグインのバグのようです。回避策として、空のパラメーター リストを追加できます。

curl -XPOST 'localhost:9200/index1/type1/1/_update?pretty=true' -d '{
    "script": "ctx[\"_source\"][\"myfield\"]=\"foo\"",
    "lang": "python",
    "params": {}
}'
于 2013-03-20T01:04:36.870 に答える