我试图跨多个索引删除某种类型的所有文档(文档由logstash创建,因此每天都有一个索引)。
我试过这个:
DELETE _all/_query?q=type:iss
结果如下:
{
"_indices": {
"logstash-2014.01.18": {
"_shards": {
"total": 5,
"successful": 0,
"failed": 5
}
},
"_indices": {
"logstash-2014.01.18": {
"_shards": {
"total": 5,
"successful": 2,
"failed": 3
}
},
...
}
每次我运行它时,每个索引都会获得不同数量的成功/失败。最初的第一个查询似乎起作用。如果我查看elasticsearch-head和Kibana,似乎至少有一些文档被删除了。但是,如果我再查询它们:
POST _search {"query":{"match":{"type":"iis"}}}
或
GET _search?q=type:iis
它仍会返回所有结果。我不相信这是一个缓存问题,因为我已尽一切可能确保不是这样(清除浏览器数据,重新启动弹性搜索/服务器等)。
我也尝试过:
DELETE _all/iis/_query {"query":{"match_all":{}}}
我再次得到不一致的成功/失败结果,但是当我再次运行搜索查询时,似乎确实删除了文档。它似乎只是每次删除一些。
为什么这种情况如此不一致,我该怎样做才能让这种工作始终如一?