在旧版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"
}
}
}
答案 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"
}
}
}'