新增文档
POST /索引库名/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
"字段3": {
"子属性1": "值3",
"子属性2": "值4"
},
// ...
}
查询文档
GET /索引库名/_doc/文档id
删除文档
DELETE /索引库名/_doc/文档id
修改文档
方式一
全量修改,会删除旧文档,添加新文档
PUT /索引库名/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
// ... 略
}
方式二
增量修改,修改指定字段值
POST /索引库名/_update/文档id
{
"doc": {
"字段名": "新的值",
}
}
总结
创建文档:POST /索引库名/_doc/文档id { json文档 }
查询文档:GET /索引库名/_doc/文档id
删除文档:DELETE /索引库名/_doc/文档id
修改文档:
全量修改:PUT /索引库名/_doc/文档id { json文档 }
增量修改:POST /索引库名/_update/文档id { "doc": {字段}}
拓展
如果新增文档的结构与mapping结构不一致,会报错误吗?报什么错误?
当我们向ES中插入文档时,如果文档中字段没有对应的mapping,ES会帮助我们字段设置mapping,规则如下:
插入文档时,es会检查文档中的字段是否有mapping,如果没有则按照默认mapping规则来创建索引。 如果默认mapping规则不符合你的需求,一定要自己设置字段mapping