在较旧的Elasticsearch版本中,我只需执行以下操作即可删除数据:
curl -XDELETE 127.0.0.1:9200/what/ever/_search?q=keyword
现在在Elasticsearch 6.X中不再受支持。我不得不使用delete_by_query功能。
According to the document,似乎我不能再使用查询字符串,任何想法?
P.S
我需要匹配任何字段,但在线提供的示例查询匹配特定字段,例如
{
"query": {
"match": {
"message": "some message"
}
}
}
Delete by Query 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"
}
}
}'