ES查看集群状态、节点、索引等及基本查询
ES会产生一些 docs.deleted 的数据如下图,怎么彻底删除呢?
删除数据的时候:可以使用_delete_by_query,然而这并不彻底。
只是逻辑删除标记为deleted,磁盘空间还是占用的;只有当数据量达到一定时,segment file合并的时候,才可能物理删除;
我强烈建议不要使用delete_by_query,而要使用Curator之类的东西,以便可以删除整个索引,而不仅仅是删除索引中文档的一部分。 delete_by_query不是磁盘空间管理解决方案,尤其是对于时序数据。
1. 根据某字段seq倒序排序查询
-- post请求
http://localhost:9200/idx_test/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"seq": {
"order": "desc"
}
}
]
}
2. 删除所有
-- post请求
http://localhost:9200/idx_test/_delete_by_query
-- body:
{
"query":{
"match_all": {}
}
}
3. 根据某字段id查询并删除
-- post请求
http://localhost:9200/idx_test/_delete_by_query
-- body:
{
"query":{
"match_phrase":{
"id":"111000"
}
}
}