网站备案到期,wordpress 展示主题,网站域名注册价格,网站查询域名入口创建文档
指定id
// 无则插入#xff0c;有则覆盖#xff08;覆盖的逻辑是先删除#xff0c;再插入#xff09;
PUT /target/_doc/_id
// 无则插入#xff0c;有则覆盖
POST /target/_doc/_id
// 无则插入#xff0c;有则报错
PUT /有则覆盖覆盖的逻辑是先删除再插入
PUT /target/_doc/_id
// 无则插入有则覆盖
POST /target/_doc/_id
// 无则插入有则报错
PUT /target/_create/_id
// 无则插入有则报错
POST /target/_create/_id不指定id
// 正常插入
POST /target/_doc
// 报错
POST /target/_create
// 报错
PUT /target/_create
// 报错
PUT /target/_docPUT user/_doc/5
{name: 张三(5),age: 10,email: 1.qq.com,address: 北京朝阳
}删除文档
// 根据 id 删除
DELETE /index/_doc/_id
// 根据查询删除
POST /target/_delete_by_query删除 id 为1的数据
DELETE user/_doc/1删除全部数据
POST user/_delete_by_query
{query: {match_all: {}}
}更新文档
// 根据 id 更新
POST /index/_update/_id
// 根据查询更新
POST /target/_update_by_query将 id 为1的数据的 name 修改为张三(修改后)
POST user/_update/1
{doc: {name: 张三(修改后)}
}将 id 为1,2的数据 age 修改为70
POST user/_update_by_query
{query: {ids: {values: [1, 2]}},script: {source: ctx._source.age 70}
}索引重建reindex
索引在使用一段时间后如果想修改索引的静态设置比如主分片的数目分词器等这些设置无法直接修改此时就可以使用索引重建
POST _reindex
{source: {index: my-index-000001},dest: {index: my-new-index-000001}
}并发控制
当进行并发控制时通常有乐观锁和悲观锁两种方式
乐观锁适用于读多写少的情况冲突比较少可以提高系统的吞吐量 悲观锁适用于读少写多的情况经常会产生冲突如果使用乐观锁应用会不断的重试会降低性能
ElasticSearch 使用乐观锁的形式来进行并发控制即 if_primary_term 参数和 if_seq_no 参数
参数作用if_primary_term数据在哪个分片if_seq_no版本号每次修改都会增加
POST user/_doc/5
{name: 张三(5),age: 10,email: 1.qq.com,address: 北京朝阳
}{_index : user,_id : 5,_version : 12,result : updated,_shards : {total : 2,successful : 2,failed : 0},_seq_no : 38,_primary_term : 2
}GET user/_doc/5{_index : user,_id : 5,_version : 12,_seq_no : 38,_primary_term : 2,found : true,_source : {name : 张三(5),age : 10,email : 1.qq.com,address : 北京朝阳}
}当 _seq_no38 时执行如下请求报错加if_seq_no改为38时正常执行
POST user/_doc/5?if_primary_term2if_seq_no30
{name: 张三(5),age: 10,email: 1.qq.com,address: 北京朝阳
}创建更新删除文档等操作的 api 都可以使用这2个参数
批量操作
批量操作对json有严格的要求每个json串不能换行只能放在同一行相邻的json串之间必须要有换行。每个操作必须是一对json串delete语法除外
{ action: { metadata }}
{ request body }
{ action: { metadata }}
{ request body }操作类型介绍create文档id不存在则创建不存在则报错index文档id不存在则创建存在则更新文档update根据文档id更新文档不存在则返回错误delete根据文档id删除文档不存在则返回错误
批量新增
{index: {_id: 1}}
{name: 张三, age: 10, email: 1.qq.com, address: 北京朝阳}
{index: {_id: 2}}
{name: 李四, age: 20, email: 2.qq.com, address: 北京西城}
{index: {_id: 3}}
{name: 王五, age: 30, email: 3.qq.com, address: 北京东城}
{index: {_id: 4}}
{name: 赵六, age: 40, email: 4.qq.com, address: 北京海淀}文档写入
单个文档 多个文档 文档查询 参考博客
官方文档 [0]https://www.elastic.co/guide/en/elasticsearch/reference/8.11/docs.html [1]https://blog.csdn.net/weixin_39723544/article/details/109237175 [2]https://cloud.tencent.com/developer/article/2133017 大佬博客 [3]https://elasticstack.blog.csdn.net/article/details/128835177 插入方式的区别 [4]https://www.modb.pro/db/1717735427791724544