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合并的时候
-
自动刷新每秒会创建新的segument,查询的时候会轮流检查每个segument
-
后台会定期进行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 | 仅将标记为删除文档进行轻质合并并物理删除,不进行其他合并操作 |
原创:做时间的朋友
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示