【发布时间】:2018-02-22 06:52:59
【问题描述】:
我的文档包含各种字段,例如(时间戳、metric_name 等)。
我想删除所有metric_name字段不匹配值cpu/time或query/time的文档。
【问题讨论】:
标签: elasticsearch
我的文档包含各种字段,例如(时间戳、metric_name 等)。
我想删除所有metric_name字段不匹配值cpu/time或query/time的文档。
【问题讨论】:
标签: elasticsearch
如果删除的记录比较多,千万不要错过运行 forcemerge 彻底删除。 按查询删除只是将它们标记为已删除而不是删除它们
【讨论】:
您只需在_delete_by_query下方POST:
POST <put_your_index_name_here>/_delete_by_query
{
"query": {
"bool": {
"must_not": [{
"terms": {
"metric_name.keyword": ["cpu/time","query/time"]
}
}]
}
}
}
资源:
【讨论】:
我也想出了以下方法。
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 有效,因为在其他指标中没有匹配前缀
【讨论】: