让我们说我正在更新用户数据
curl -XPOST 'localhost:9200/test/type1/1/_update' -d '{
"doc" : {
"name" : "new_name"
},
"fields": ["_source"]
}'
下面是我执行更新时收到的一个例子
{
"_index" : "test",
"_type" : "type1",
"_id" : "1",
"_version" : 4
}
如何执行返回给定文档更新后的更新?
答案 0 :(得分:3)
有关在执行Elasticsearch更新时返回字段的文档有点误导。它实际上使用了与Index api相同的方法,在url上传递参数,而不是在更新中传递字段。
在您的情况下,您将提交:
curl -XPOST 'localhost:9200/test/type1/1/_update?fields=_source' -d '{
"doc" : {
"name" : "new_name"
}
}'
在我对Elasticsearch 1.2.1的测试中,它返回如下内容:
{
"_index":"test",
"_type":"testtype",
"_id":"1","_version":9,
"get": {
"found":true,
"_source": {
"user":"john",
"body":"testing update and return fields",
"name":"new_name"
}
}
}
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-index_.html http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-update.html