Elasticsearch 删除数据

删除数据分为两种:一种是删除索引(数据和表结构同时删除,作用同SQLSERVER 中 DROP TABLE "表格名" ),

           另一种是删除数据(不删除表结构,作用同SQLSERVER中Delete 语句)。

 

一:删除索引(结构和数据同时删除):

删除单个索引可以使用命令 【DELETE /索引名称】

Delete 索引名称

 

删除多个索引可以使用命令 【DELETE /索引1,索引2】

Delete 索引名称1,索引名称2

【DELETE /testindex*】:删除以testindex 开头的所有索引文件(如果配置文件中禁止后此方式不能使用);

Delete 索引名称*

 

删除全部索引命令 【DELETE /_all】(配置文件中禁止后此方式不能使用) 或者 【DELETE /*】(配置文件中禁止后此方式不能使用)

Delete _all

 

注意事项:对数据安全来说,能够使用单个命令来删除所有的数据可能会带来很可怕的后果,所以,为了避免大量删除,

       可以在elasticsearch.yml 配置文件中修改 action.destructive_requires_name: true

  设置之后只限于使用特定名称来删除索引,使用_all 或者通配符来删除索引无效(上述中说明配置文件中禁止后此方式不能使用)】

 

二:删除数据(只删除数据):

1.:根据主键删除数据:【DELETE  /索引名称/类型名称/主键编号】

Delete 索引名称/文档名称/主键编号

 

2:根据匹配条件删除数据:(注意请求方式是Post) 

复制代码
复制代码
POST 索引名称/文档名称/_delete_by_query   
{
  "query":{
    "term":{
      "_id":100000100
    }
  }
}
复制代码
复制代码

如果你想根据条件来删除你的数据,则在Query查询体中组织你的条件就可以了。

3:删除所有数据:(注意请求方式是Post,只删除数据,不删除表结构)

复制代码
复制代码
POST /testindex/testtype/_delete_by_query?pretty
{
    "query": {
        "match_all": {
        }
    }
}
复制代码
复制代码

 

posted @   你的小可爱吖  阅读(9755)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示