ES文档的基本操作

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 集群内部错误
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容