es核心技术与实战 Day02

文档

create一个文档
  • 支持自动生成文档Id和指定文档ld两种方式
  • 通过调用“post /users/_ _doc’系统会自动生成document Id
  • 使用HTTP PUT user/_ create/1 创建时,URI中显示指定_ _create, 此时如果该id的文档已经存在,操作失败
PUT users/ _create /1
{
	"firstName": "Jack",
	"lastName": "Johnson",
	"tags":["guitar","skateboard"]
}
get一个文档
  • 找到文档, 返回HTTP 200
    • 同一个ld的文档,即使被删除,Version号也会不断增加
      _souece 中默认包含了文档的所有原始信息
GET users/_doc/1
index文档

Index和Create不一样的地方:如果文档不存在,就索引新的文档。否则现有文档会被删除,新的文档被索引。版本信息(version)+1

PUT users/_doc/1
{
	"tags":["guitar", "skateboard""reading"]
}
update文档
  • Update方法不会删除原来的文档,而是实现真正的数据更新
  • Post方法/ Payload需要包含在“doc”中
POST users/ _update/1
{
	"doc": {
	"albums": ["Album1" , "ALumb2"]
	}
}

Bulk API

  • 支持在一次API调用中,对不同的索引进行操作
  • 支持四种类型操作
    Index
    Create
    Update
    Delete
  • 可以再URI中指定Index,也可以在请求的Payload中进行
  • 操作中单条操作失败,并不会影响其他操作
  • 返回结果包括了每一条操作执行的结果
POST_ bulk
{ "index" : { " _index" : "test","_id":"1"} }
{ "field1": "value1" }
{ "delete" : { "_index.": "test", "_id": "2" } }
{"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"
		}
	]
}

批量查询_msearch

//### msearch操作
POST kibana_ sample_ data_ ecommerce/_ msearch
{}
{"query" : {"match_ all" : {}},"size":1}
{"index" : "kibana_ _sample_ data_ flights"}
{"query" : {"match_ all" : {}},"size":2}

常见错误返回

问题原因
无法连接网络故障或集群挂了
连接无法关闭网络故障或节点出错
429集群过于繁忙
4xx请求体格式有错
500集群内部错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值