欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

elasticsearch简单API的使用(CRUD)

程序员文章站 2024-02-22 11:50:46
...

elasticsearch简单API的使用(CRUD)

1.创建文档Index,自动生成_id

#创建文档,自动生成_id
POST users/_doc
{
  "user":"Mike",
  "post_date":"2019-04-15T14:12:12",
  "message":"trying out Kibana"
}

2.创建文档Create,指定_id

#创建文档,指定_id,如果id存在,报错,它这里其实是根据_version这个字段来判断的
PUT users/_doc/1?op_type=create
{
  "user":"Jack",
  "post_date":"2019-05-15T14:12:12",
  "message":"trying out Elasticsearch"
  }

#创建文档,指定_id,如果id存在,报错  
PUT users/_create/2
{
    "user":"Jack",
  "post_date":"2019-05-15T14:12:12",
  "message":"trying out Elasticsearch"
}

3.根据_id查询文档

GET users/_doc/1

4.更新文档index

这样会把原来的所有字段都删除掉,然后基于本次的请求内容来重建,但是_version都会自动+1

PUT users/_doc/1?op_type=index
{
  "user": "Tom"
}

PUT users/_doc/1
{
  "user": "Tom"
}

这样我们查看数据:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0jbMiK0b-1614439191157)(C:\Users\ThinkPad\Desktop\es\image-20210227184737643.png)]

字段减少了两个。

Index与Create的区别在于:Index的时候,如果文档不存在,就建立新的文档,如果文档存在,那么现有文档就会被删除,新的文档会被建立,同时_version版本号+1。

4.修改文档_update

#真正的修改,不会删除原来的字段,只是会对相应的字段做修改
POST users/_update/1/
{
  "doc":{
      "post_date":"2019-05-15T14:12:12",
      "message":"trying out Elasticsearch"
  }

}

修改完成后,我们查询下,看到,这时会新增两个字段,同时user字段也没有消失,当然,这时的_version也会自动加1。这就是index和update的区别。

操作 说明
index 针对整个文档,既可以新增,也可以更新
create 只是新增操作,已有报错,可以用PUT指定ID,或POST不指定ID;
update 指的是部分更新,官方只是说用POST,请求body里用script或 doc里包含文档要更新的部分;
delete和read 就是delete和get请求了,比较简单

doc里包含文档要更新的部分; |
| delete和read | 就是delete和get请求了,比较简单 |