我想删除今天已推送到名为 index1 的Elasticsearch索引中的数据。怎么做?
我的索引如下:
{
"_index" : "index1",
"_type" : "_doc",
"_id" : "zIRLIB9H5oRSfavviZ",
"_score" : 1.0,
"_source" : {
"name" : "ramen",
"class" : "5",
"age" : "12",
}
},
{
"_index" : "index1",
"_type" : "_doc",
"_id" : "zYRLI3IBoRSfawviy",
"_score" : 1.0,
"_source" : {
"name" : "tom",
"class" : "6",
"age" : "51",
}
}
我想删除今天推送的第二组数据,以便我的索引看起来像这样:。
{
"_index" : "index1",
"_type" : "_doc",
"_id" : "zIRLIB9H5oRSfavviZ",
"_score" : 1.0,
"_source" : {
"name" : "ramen",
"class" : "5",
"age" : "12",
}
}
答案 0 :(得分:1)
如果您可以完全删除索引,则只需运行
DELETE index1
否则,如果要保留索引但删除其中的所有内容,请运行
POST index1/_delete_by_query?q=*
如果您因为拥有其他日期的数据而只想删除今天的数据而希望保留索引,则可以
POST index1/_delete_by_query?q=@timestamp:[now/d TO *]
(请确保在数据字段中替换@timestamp
)