delete by query

1.delete by query场景

基于查询出来的数据进行删除

2.删除的定义

删除并不是直接物理文档删除,而是打标记

3.API

POST index_name/_delete_by_query

{
  "query": { //这些是自定义查询条件,根据查询条件去批量删除
    "match": {//请求体跟Search API是一样的
      "message": "some message"
    }
  }
}

4.具体什么时候物理文档删除?

段segument合并的时候

  1. 自动刷新每秒会创建新的segument,查询的时候会轮流检查每个segument

  2. 后台会定期进行segument的合并,小的seguement合并为大的segument,此时才会进行物理文档document的清除

5.手动强制合并segument及删除物理文档

POST /index_name/_forcemerge?max_num_segments=1&only_expunge_deletes=true
or
POST /index_name/_forcemerge?max_num_segments=1

参数说明

参数 说明
max_num_segments 表示将某个索引每个分片强制合并为几个segument的意思
only_expunge_deletes 仅将标记为删除文档进行轻质合并并物理删除,不进行其他合并操作
posted @   SpecialSpeculator  阅读(121)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示