在elasticsearch中删除文档

时间:2017-11-21 05:26:52

标签: elasticsearch

我想通过时间戳和自定义字段" cu_hostname"之一删除elasticserach中的文档。 我想删除特定时间戳中具有值" cu_hostname = abc"

的所有文档

我已经为时间戳写了一个查询,如下所示:

POST filebeat-perf-1/_delete_by_query
{
"query":{
"range": {
"@timestamp": {
"gte": "1510511400000",
"lte": "1510597799000"
}
}
}
}

并删除自定义字段:

  curl -XPOST '10.193.104.42:9200/filebeat-perf-1/_delete_by_query?conflicts=proceed&pretty' -H 'Content-Type: application/json' -d'
    {
    "query": {
    "wildcard": {
    "cu_hostname": "abc"
    }
    }
    }

如何结合这个查询?

1 个答案:

答案 0 :(得分:2)

您只需将两者结合使用bool/filter查询:

POST filebeat-perf-1/_delete_by_query
{
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "@timestamp": {
              "gte": "1510511400000",
              "lte": "1510597799000"
            }
          }
        },
        {
          "wildcard": {
            "cu_hostname": "abc"
          }
        }
      ]
    }
  }
}