ES 文档操作-Document-APIs

1、索引文档

Document - Index API

API:PUT /index/_doc/1

{
    "name" : "张三",
    "date" : "2009-11-15T14:12:12",
    "message" : "一串文本信息"
}

如果索引尚不存在,则索引操作会自动创建索引,同时索引操作还会创建动态映射
该API 可以用来创建文档 和 覆盖文档
PS:_doc 称为 API 的端点,并不是一般认为的 type 被干掉后的替代品,端点还有 _source等...

强制创建操作

API:PUT /index/_doc/1?op_type=create

创建文档

API:PUT /index/_create/1
如果该ID在文档中的索引已经存在索引操作将失败。

自动生成Id

API:POST /index/_doc

可以在不指定id的情况下执行索引操作。在这种情况下,将自动生成id。此外,op_type 将自动设置为create(注意 POST使用而不是PUT)。
PS:ES为每条文档数据都配备了Id,所以不需要在文档的数据结构中再次指定Id数据列。文档的Id可以指定 也可以自动生成,咱们统一采用指定的方式。

2、获取文档

API:GET /index/_doc/1

过滤返回数据

API:GET twitter/_doc/0?_source_includes=*Id&_source_excludes=phone

  • _source_includes、_source_excludes 包含、排除,配置使用

如果您只想指定包含,则可以使用较短的表示法:
API:GET twitter/_doc/0?_source=*Id,name

直接获取数据

GET /index/_source/1
GET /index/_source/1/?_source_includes=*Id&_source_excludes=phone

3、检查文档是否存在

API:HEAD /index/_doc/0 推荐
API:HEAD /index/_source/0

4、删除文档

API:DELETE /index/_doc/1
有意思的是,当 索引 不存在的话 ,删除操作将自动创建索引。
PS:有按条件批量删除API 这里不讲。

5、更新文档

API:/POST /index/_update/1

更新部分字段属性

{
    "doc" : {
        "name" : "new_name"
    }
}

更新脚本

{
    "script" : {
        "source": "ctx._source.age += params.num",
        "lang": "painless",
        "params" : {
            "num" : 4
        }
    }
}

doc 和 script 不能同时使用

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容