Delete(删除)
DELETE 语句用于删除满足 WHERE 子句中谓词条件的文档。
如果未指定 WHERE 子句,则会删除所有文档。
设置
默认情况下,DELETE 语句是禁用的。要在 SQL 中启用 DELETE 功能,您需要通过发送以下请求来更新配置:
PUT _plugins/_query/settings
{
"transient": {
"plugins.sql.delete.enabled": "true"
}
}
语法
规则 singleDeleteStatement:

示例
SQL 查询:
DELETE FROM accounts
WHERE age > 30
_explain:
{
"size" : 1000,
"query" : {
"bool" : {
"must" : [
{
"range" : {
"age" : {
"from" : 30,
"to" : null,
"include_lower" : false,
"include_upper" : true,
"boost" : 1.0
}
}
}
],
"adjust_pure_negative" : true,
"boost" : 1.0
}
},
"_source" : false
}
结果集:
{
"schema": [
{
"name": "deleted_rows",
"type": "long"
}
],
"total": 1,
"datarows": [
[
3
]
],
"size": 1,
"status": 200
}
datarows 字段显示已删除的文档数量。