elasticsearch7.x文档API Delete操作相关

并发控制

Elasticsearch是分布式的,所以需要对请求进行并发控制。可以通过传递参数if_seq_no和if_primary_term来指定序列号和主项来控制文档的删除,只有在文档的序列号(_seq_no)和主项(_primary_term)与指定的值一致时才会执行删除操作,否则会返回version_conflict_engine_exception异常和状态码409。

版本控制

通过version参数可以确保想要删除的文档确实被删除了,且没有其他更改。对文档执行的每个写操作(包括删除操作)都会导致其版本增加。删除后的文档版本号在短时间内保持可用,以便控制并发操作。可用时间长度由索引设置index.gc_deletes决定,默认为60秒。

路由

如果在索引时使用了路由,那么在删除文档时需要通过_routing以同样的规则进行路由,否则文档不会被删除。如果定义了_routing映射并设置为必需的,则当没有提供或提取到路由值,删除操作会抛出RoutingMissingException异常并拒绝请求。

自动创建索引

如果使用外部版本控制变量,则如果之前没有创建索引,删除操作将自动创建索引。

等待活动分片

通过wait_for_active_shards参数可以设置开始处理删除请求前需要激活的分片副本的最少数量。

超时

在执行删除操作时,分配执行删除操作的主分片可能不可用。比如主分片正在从存储中恢复或正在进行迁移。默认情况下,删除操作会等待主分片一分钟,如果还是不可用,则操作失败并返回一个错误。通过timeout参数可以显示设置超时时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值