Elasticsearch:2.3.3
以下是我的命令序列
索引文档
POST test-index/doc
{
"name":"sahas"
}
检索文档
GET test-index/_search
{
"query": {
"match": {
"name": "sahas"
}
}
}
更新文档
POST test-index/doc/_update_by_query?name=subramanian
{
"query": {
"match": {
"name": "sahas"
}
}
}
更新结果
{
"took": 9,
"timed_out": false,
"total": 1,
"updated": 1,
"batches": 1,
"version_conflicts": 0,
"noops": 0,
"retries": 0,
"failures": []
}
但是当我再次查询文档时,它没有更新。 反正有没有弄清楚为什么更新不能在这里工作? 我错过了一些傻事吗?
感谢任何投入..
答案 0 :(得分:2)
您的查询更新并未修改来源。您需要包含一个脚本才能执行此操作:
POST test-index/doc/_update_by_query
{
"query": {
"match": {
"name": "sahas"
}
},
"script": {
"inline": "ctx._source.name = 'subramanian'"
}
}