> 文章列表 > Elasticsearch——文档操作

Elasticsearch——文档操作

Elasticsearch——文档操作

新增文档

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