添加id为1,type为external,index为customer的数据
PUT /customer/external/1?pretty
{
"name": "John Doe"
}
如果在执行上面的操作,则会覆盖以前的数据。
如果不想指定id的话,es会生成默认的id
PUT /customer/external?pretty
{
"name": "John Doe"
}
上面的是覆盖数据,如果想要更新数据
POST /customer/external/1/_update?pretty
{
"doc": { "name": "Jane Doe" }
}
es实际是先删除老的数据,然后添加新的数据。
下面这种方式在替换name字段的同时添加新的age字段
POST /customer/external/1/_update?pretty
{
"doc": { "name": "Jane Doe", "age": 20 }
}
我们还可以使用script,如下面对更新age为age+5
POST /customer/external/1/_update?pretty
{
"script" : "ctx._source.age += 5"
}
ctx._source代表当前文档
目前同时只能更新一个文档。将来可能会类似sql update where一样更新多个文档
删除一个文档
DELETE /customer/external/2?pretty
相比较来说删除整个索引比删除所有文档更加高效
批量修改数据
对id为1和2的文档进行覆盖
POST /customer/external/_bulk?pretty
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{"name": "Jane Doe" }
对文档1进行更新字段,文档2删除
POST /customer/external/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "John Doe becomes Jane Doe" } }
{"delete":{"_id":"2"}}
PUT /customer/external/1?pretty
{
"name": "John Doe"
}
如果在执行上面的操作,则会覆盖以前的数据。
如果不想指定id的话,es会生成默认的id
PUT /customer/external?pretty
{
"name": "John Doe"
}
上面的是覆盖数据,如果想要更新数据
POST /customer/external/1/_update?pretty
{
"doc": { "name": "Jane Doe" }
}
es实际是先删除老的数据,然后添加新的数据。
下面这种方式在替换name字段的同时添加新的age字段
POST /customer/external/1/_update?pretty
{
"doc": { "name": "Jane Doe", "age": 20 }
}
我们还可以使用script,如下面对更新age为age+5
POST /customer/external/1/_update?pretty
{
"script" : "ctx._source.age += 5"
}
ctx._source代表当前文档
目前同时只能更新一个文档。将来可能会类似sql update where一样更新多个文档
删除一个文档
DELETE /customer/external/2?pretty
相比较来说删除整个索引比删除所有文档更加高效
批量修改数据
对id为1和2的文档进行覆盖
POST /customer/external/_bulk?pretty
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{"name": "Jane Doe" }
对文档1进行更新字段,文档2删除
POST /customer/external/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "John Doe becomes Jane Doe" } }
{"delete":{"_id":"2"}}