厉害了,一文教会你ElasticSearch文档的基本CRUD与批量操作

上篇文章介绍了elasticsearch的基本概念,今天主要介绍elasticsearch文档的基本crud操作。

create文档

1、create document 自动生成_id

请求:

POST ajtest/_doc
{
  "user":"cb",
  "create_time":"2020-08-02T14:12:12",
   "remark":"elastic test"
}

返回结果(自动生成文档的_id):

{
  "_index" : "ajtest",
  "_type" : "_doc",
  "_id" : "Gvw7rXMB-sPOHQAyK08l",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

2、使用 PUT index_name/_create/_id 或 PUT index_name/_doc/_id?op_type=create 创建时,URI中显示指定 _create ,此时如果该_id的文档已经存在,操作会失败

#create document. 指定 ID 如果已经存在,就报错
PUT ajtest/_doc/1?op_type=create
{
  "user":"aj",
  "create_time":"2020-08-02T14:12:12",
   "remark":"elasticsearch test"
}

#create document. 指定 ID 如果已经存在,就报错
PUT ajtest/_create/1
{
  "user":"ajcb",
  "create_time":"2020-08-02T14:12:12",
   "remark":"elasticsearch test"
}

Get文档

Get ajtest/_doc/1(根据文档id返回文档信息)

返回结果

{
  "_index" : "ajtest",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 2,
  "_seq_no" : 2,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "user" : "ajcb",
    "create_time" : "2020-08-02T14:12:12",
    "remark" : "elasticsearch test"
  }
}

Index文档

Index 和create文档不同,如果文档不存在,会新建文档,否则现有文档会被删除,新建文档索引,且版本信息+1

###  Index & Update
#Update 指定 ID  (先删除,在写入)
PUT ajtest/_doc/1
{
  "user":"cb"
}

update文档

update文档不会删除,只是数据表更新

POST ajtest/_update/1
{
  "doc":{
    "user":"jj",
    "age":30
  }
}

Delete 文档

根据文档id删除文档 DELETE ajtest/_doc/1

Bulk API

  • 支持一次api调用中,对不同的索引进行操作

  • 支持四种类型操作

    • Index
    • create
    • update
    • delete
  • 可以在uri中指定index,也可在请求的payload中进行

  • 操作中单条操作失败,并不影响其他操作

  • 返回结果包括一条操作执行的结果

POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "1" } }
{ "create" : { "_index" : "test2", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }

批量读取-mget

GET /_mget
{
    "docs" : [
        {
            "_index" : "test",
            "_id" : "1"
        },
        {
            "_index" : "test",
            "_id" : "2"
        }
    ]
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值