Elasticsearch删除数据
删除数据分为两种:⼀种是删除索引(数据和表结构同时删除,作⽤同SQLSERVER 中 DROP TABLE "表格名" ),
另⼀种是删除数据(不删除表结构,作⽤同SQLSERVER中Delete 语句)。
⼀:删除索引(结构和数据同时删除):
删除单个索引可以使⽤命令【DELETE /索引名称】
Delete 索引名称
删除多个索引可以使⽤命令【DELETE /索引1,索引2】
Delete 索引名称1,索引名称2
【DELETE /testindex*】:删除以testindex 开头的所有索引⽂件(如果配置⽂件中禁⽌后此⽅式不能使⽤);
Delete 索引名称*
删除全部索引命令【DELETE /_all】(配置⽂件中禁⽌后此⽅式不能使⽤)或者【DELETE /*】(配置⽂件中禁⽌后此⽅式不能使⽤)Delete _all
注意事项:对数据安全来说,能够使⽤单个命令来删除所有的数据可能会带来很可怕的后果,所以,为了避免⼤量删除,可以在l 配置⽂件中修改 action.destructive_requires_name: true
设置之后只限于使⽤特定名称来删除索引,使⽤_all 或者通配符来删除索引⽆效(上述中说明配置⽂件中禁⽌后此⽅式不能使⽤)】
⼆:删除数据(只删除数据):
1.:根据主键删除数据:【DELETE /索引名称/类型名称/主键编号】
Delete 索引名称/⽂档名称/主键编号
2:根据匹配条件删除数据:(注意请求⽅式是Post)
POST 索引名称/⽂档名称/_delete_by_query
{
"query":{
"term":{
"_id":100000100
}
}
drop删除表}
如果你想根据条件来删除你的数据,则在Query查询体中组织你的条件就可以了。
3:删除所有数据:(注意请求⽅式是Post,只删除数据,不删除表结构)
POST /testindex/testtype/_delete_by_query?pretty
{
"query": {
"match_all": {
}
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论