delete_by_query是否支持查询字符串?

时间:2018-09-07 03:23:28

标签: elasticsearch

在旧版Elasticsearch中,我只需执行以下操作即可删除数据:

curl -XDELETE 127.0.0.1:9200/what/ever/_search?q=keyword

现在在Elasticsearch 6.X中不再受支持。我不得不使用delete_by_query功能。

According to the document,似乎我再也不能在其中使用查询字符串了,有什么主意吗?

PS

我需要匹配任何字段,但是在线提供的示例查询匹配特定字段,例如

{
  "query": { 
    "match": {
      "message": "some message"
    }
  }
}

1 个答案:

答案 0 :(得分:2)

“按查询删除” API仍然支持查询字符串中的查询,您只需要使用POST而不是DELETE_delete_by_query端点:

curl -XPOST 127.0.0.1:9200/what/ever/_delete_by_query?q=keyword

否则,您也可以在体内query_string,如下所示:

curl -XPOST 127.0.0.1:9200/what/ever/_delete_by_query -d '{
  "query": { 
    "query_string": {
      "query": "keyword"
    }
  }
}'