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": { } } }
参考官网链接:https://www.elastic.co/guide/en/elasticsearch/reference/5.2/docs-delete-by-query.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义