たとえば、users_indexに以下のようなuserというtypeがあったとする
{ "id": 1234, "name": "otiai10", "age": 29, "lang": ["go","js","python"], "description": "落合展です。10は「じゅう」じゃなくて「テン」と読みます。" }
全体アップデート
ドキュメント全体をアップデートしたいときはこうする
curl -X PUT ":9200/users_index/user/1234" -d '{ "id": 1234, "name": "otiai10", "age": 29, "lang": ["go","js","python"], "description": "otiai10です。10は「じゅう」じゃなくて「テン」と読みます。" }'
これ間違えてこういうことすると吹っ飛ぶ
curl -X PUT ":9200/users_index/user/1234" -d '{}'
curl -X GET ":9200/users_index/user/1234?pretty" { "_index" : "users_alias", "_type" : "user", "_id" : "1234", "_version" : 2, "found" : true, "_source":{} # <- これな }
部分アップデートしよう
curl -X POST ":9200/users_index/user/1234/_update" -d '{ "doc": { "description": "otiai10です。10は「じゅう」じゃなくて「テン」と読みます。" } }'
PUTだとNo handler found for uri [/_update] and method [PUT]
になるので注意。POSTです。
DRY