我的文档包含各种字段,如(timestamp,metric_name等)。
我想删除metric_name
字段不匹配值cpu/time
或query/time
的所有文档。
答案 0 :(得分:0)
您需要做的就是POST
以下的_delete_by_query
:
POST <put_your_index_name_here>/_delete_by_query
{
"query": {
"bool": {
"must_not": [{
"terms": {
"metric_name.keyword": ["cpu/time","query/time"]
}
}]
}
}
}
资源:
答案 1 :(得分:0)
我也想出了以下方法。
POST / _delete_by_query
{
"query": {
"bool": {
"must_not": [{
"bool": {
"should": [{
"match_phrase": {
"metric": "cpu/time"
}
},
{
"match_phrase": {
"metric": "query/time"
}
}
],
"minimum_should_match": 1
}
}]
}
}
}
match_phrase 有效,因为在其他指标中没有匹配的前缀
答案 2 :(得分:0)
如果删除的记录更多,请不要错过运行forcemerge以完全删除它们。 按查询删除只是将它们标记为已删除而不是删除它们