美文网首页
ES文档的基本操作

ES文档的基本操作

作者: 鸿雁长飞光不度 | 来源:发表于2020-02-01 01:11 被阅读0次

1.CRUD基本操作

1.1 CREATE(创建)

  • 支持自动生成文档ID和指定文档ID两种方式。
    • post /index_name/_doc,自动生成document id
    • PUT index_name/_create/1,创建时显示指定_create,如果id存在,则操作失败。

1.2 GET(获取)

格式:GET index_name/_doc/id

例如: GET movies/_doc/1
{
  "_index" : "movies",
  "_type" : "_doc",
  "_id" : "1",
  "_version" : 2,
  "_seq_no" : 9783,
  "_primary_term" : 5,
  "found" : true,
  "_source" : {
    "genre" : [
      "Adventure",
      "Animation",
      "Children",
      "Comedy",
      "Fantasy"
    ],
    "year" : 1995,
    "title" : "Toy Story",
    "id" : "1",
    "@version" : "1"
  }
}
  • 找到文档返回200
    • 文档元信息(返回的最外面一层)
      • _index/_type (文档所属的索引和类型)
      • _version表示版本信息,文档修改的次数。
      • _source表示最原始的信息
  • 找不到文档返回404

1.3 INDEX

格式:PUT index_name/_doc/1

和CREATE的区别在于,如果文档不存在,就会索引新的文档。否则现有的文档会被删除,新的文档被索引,版本信息加1。

1.4 UPDATE(更新)

格式:

POST index_name/_update/1
{
      "doc":{
            "albums":["Album","Alumbs"] 
      }
}
  • UPDATE 方法不会删除原来文档,实现数据更新。
  • POST方法的 Payload需要包含在doc里面。

1.4 DELETE(删除)

格式 DELETE index_name/_doc/1


创建

POST users/_doc
{
  "account":"zhangsan@qq.com",
  "user_name":"张三"
}
{
  "_index" : "users",
  "_type" : "_doc",
  "_id" : "38m-928BexMGWhwZ99Xt",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

index

PUT users/_doc/38m-928BexMGWhwZ99Xt
{
  "account":"lisi@qq.com",
  "user_name":"张三"
}
{
  "_index" : "users",
  "_type" : "_doc",
  "_id" : "38m-928BexMGWhwZ99Xt",
  "_version" : 2,
  "result" : "updated",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 2,
  "_primary_term" : 1
}
//版本号增加了1

UPDATE

POST users/_update/38m-928BexMGWhwZ99Xt
{
      "doc":{
            "address":"地址信息" 
      }
}
{
  "_index" : "users",
  "_type" : "_doc",
  "_id" : "38m-928BexMGWhwZ99Xt",
  "_version" : 3,
  "_seq_no" : 3,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "account" : "lisi@qq.com",
    "user_name" : "张三",
    "address" : "地址信息"
  }
}

2.批量操作

2.1 Bulk API

格式: POST _bulk

用于在一次API请求里面完成多次操作,减少http请求次数,属于批量操作。

  • 支持 index,create,update,delete类型。
  • 可以在url指定index,也可以在请求的payload中进行。
  • 操作的单条失败,不会影响其他的操作
  • 返回结果包含每一条执行的结果。
#### 2.1 POST _bulk
{"index":{"_index":"users","_id":1}}
{"account":"wangwu@qq.com","user_name":"王五"}
{"delete":{"_index":"users","_id":"1"}}
{"create":{"_index":"users","_id":4}}
{"account":"sunliu@qq.com","user_name":"孙六"}
{"update":{"_index":"users","_id":"3"}}
{"doc":{"account":"wangwu@qq.com","user_name":"王七"}}

2.2 批量读取_mget

格式:

GET /_mget
{
    "docs": [
        {
           "_index":"users",
           "_id":1
        },
        {
           "_index":"users",
           "_id":2
        }
       ]
}
{
  "docs" : [
    {
      "_index" : "users",
      "_type" : "_doc",
      "_id" : "1",
      "found" : false
    },
    {
      "_index" : "users",
      "_type" : "_doc",
      "_id" : "3",
      "_version" : 2,
      "_seq_no" : 13,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "account" : "wangwu@qq.com",
        "user_name" : "王七"
      }
    }
  ]
}

2.3 批量查询

格式 POST index_name/_msearch

案例


POST kibana_sample_data_logs/_msearch
{}
{"query":{"match_all":{}},"size":1}
{"index":"kibana_sample_data_logs"}
{"query":{"match_all":{}},"size":2}

用法暂时不理解以后补充,以后补

3常见错误

问题 原因
无法连接 网络故障或者集群挂了
连接无法关闭 网络故障或者节点出错
429 集群过于繁忙
4xx 请求格式有错
500 集群内部错误

相关文章

  • elasticsearch的概念与基本操作

    一、es索引的基本操作 1、文档 es官方文档[https://www.elastic.co/guide/cn/e...

  • ES文档基本操作

    本文主要介绍了ES文档的基本操作 插入 es可以指定id存储,也可以不指定id自动生成。自动生成的id是 URL-...

  • ES文档的基本操作

    1.CRUD基本操作 1.1 CREATE(创建) 支持自动生成文档ID和指定文档ID两种方式。post /ind...

  • ES 文档的基本操作

    1 介绍 主要介绍索引请求的基础API操作,使用postman进行请求,接口请求的前缀地址统一为elasticse...

  • 02-ES7架构

    1 ES基本结构 ES从逻辑结构和物理结构区分: 1.1 ES的逻辑结构 文档是ES索引和搜索的基本单位,文档以类...

  • ES

    本文主要介绍了ES文档的基本操作 插入 es可以指定id存储,也可以不指定id自动生成。自动生成的id是 URL-...

  • ElasticSearch文档操作

    本节我们来讲解一下ES中文档的相关操作 一:索引/更新文档 ES中索引和更新文档都是PUT操作。 比如我又一条测试...

  • ES相关笔记

    常用操作 创建文档 检索文档 更多参考ES权威指南更多查询示例 删除文档 更新文档 更多脚本更新操作 并发更新控制...

  • ES操作(基本操作)

    1.创建索引 返回值: 2.插入一条数据 返回值: 3.删除索引 返回值: 4.修改数据,直接输入依据id覆盖 5...

  • Elasticsearch 使用 RESTful API 操作文

    之前我们学习了索引相关的操作,有了索引,我们就可以往索引中添加文档,完成各种文档的操作,操作文档是 ES 中相对复...

网友评论

      本文标题:ES文档的基本操作

      本文链接:https://www.haomeiwen.com/subject/mgnwthtx.html