Elasticsearch

ElasticsearchのScriptを使った更新


  • scriptを使用して下記のような更新が可能。

当たり前ですが、modifiedのみが更新される。

POST index_name/type_name/{{ ドキュメントの_id }}/_update?pretty
{
  "script": "ctx._source.modified  = ctx._source.created"
}

modifiedとcreatedはtype_nameの適当なフィールドの例。
この場合は、modifiedをcreatedで更新している。


  • curlを使った場合は下記のようになる。
curl -XPOST 'http://localhost:9200/index_name/type_name/{{ ドキュメントの_id }}/_update?pretty' -d '{"script":"ctx._source.modified  = ctx._source.created"}'

  • レスポンス
{
  "_index" : "index_name",
  "_type" : "type_name",
  "_id" : "{{ ドキュメントの_id }}",
  "_version" : {{ バージョン }}
}