新增
POST /索引库名/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
"字段3": {
"子属性1": "值3",
"子属性2": "值4"
},
//略
}
eg:
POST /yy/_doc/1
{
"info": "张三的老铁学习java!",
"email": "zhangsan@gamail.com",
"name": {
"firstName": "三",
"lastName": "张"
}
}
返回
{
"_index" : "yy",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1
}
查询
GET /索引库名/_doc/文档id
GET /yy/_doc/1
删除
DELETE /索引库名/_doc/文档id
DELETE /yy/_doc/1
注意:插入、修改、删除都会影响对应的version
修改文档
方式一:全量修改,会删除旧文档,添加新文档。与新增只差POST与PUT
PUT /索引库名/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
//略
}
eg:
PUT /yy/_doc/1
{
"info": "张三1的老铁1学习java!",
"email": "zhangsan@gamail.com",
"name": {
"firstName": "三",
"lastName": "张"
}
}
返回(注意此时id是有的所有result是updated,如果id不存在,result就是created
{
"_index" : "yy",
"_type" : "_doc",
"_id" : "1",
"_version" : 2,
"result" : "updated",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 1,
"_primary_term" : 1
}
方式二:增量修改,修改指定字段值
POST /yy/_update/文档id
{
"doc": {
"字段名": "新的值",
略
}
}
eg:
POST /yy/_update/1
{
"doc": {
"email": "zhangsanUpdate@gmail.com"
}
}
注:如果使用全量修改时,只修改个别字段,其余未修改的字段数据会被删除。